0s autopkgtest [15:37:20]: starting date and time: 2024-12-02 15:37:20+0000 0s autopkgtest [15:37:20]: git checkout: be626eda Fix armhf LXD image generation for plucky 0s autopkgtest [15:37:20]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.6znmrhgl/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python-hypothesis --apt-upgrade exchange-calendars --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python-hypothesis/6.122.1-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-ppc64el-9.secgroup --name adt-plucky-ppc64el-exchange-calendars-20241202-152052-juju-7f2275-prod-proposed-migration-environment-15-e41a5367-210b-457f-801f-6923e2dfddb5 --image adt/ubuntu-plucky-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration-ppc64el -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 365s nova [W] Using flock in prodstack6-ppc64el 365s Creating nova instance adt-plucky-ppc64el-exchange-calendars-20241202-152052-juju-7f2275-prod-proposed-migration-environment-15-e41a5367-210b-457f-801f-6923e2dfddb5 from image adt/ubuntu-plucky-ppc64el-server-20241202.img (UUID 1217a33d-4450-41fa-8048-44455666bd68)... 365s nova [E] nova boot failed (attempt #0): 365s nova [E] DEBUG (extension:189) found extension EntryPoint.parse('v1password = swiftclient.authv1:PasswordLoader') 365s DEBUG (extension:189) found extension EntryPoint.parse('noauth = cinderclient.contrib.noauth:CinderNoAuthLoader') 365s DEBUG (extension:189) found extension EntryPoint.parse('admin_token = keystoneauth1.loading._plugins.admin_token:AdminToken') 365s DEBUG (extension:189) found extension EntryPoint.parse('none = keystoneauth1.loading._plugins.noauth:NoAuth') 365s DEBUG (extension:189) found extension EntryPoint.parse('password = keystoneauth1.loading._plugins.identity.generic:Password') 365s DEBUG (extension:189) found extension EntryPoint.parse('token = keystoneauth1.loading._plugins.identity.generic:Token') 365s DEBUG (extension:189) found extension EntryPoint.parse('v2password = keystoneauth1.loading._plugins.identity.v2:Password') 365s DEBUG (extension:189) found extension EntryPoint.parse('v2token = keystoneauth1.loading._plugins.identity.v2:Token') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3adfspassword = keystoneauth1.extras._saml2._loading:ADFSPassword') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3applicationcredential = keystoneauth1.loading._plugins.identity.v3:ApplicationCredential') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3fedkerb = keystoneauth1.extras.kerberos._loading:MappedKerberos') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3kerberos = keystoneauth1.extras.kerberos._loading:Kerberos') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3multifactor = keystoneauth1.loading._plugins.identity.v3:MultiFactor') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3oauth1 = keystoneauth1.extras.oauth1._loading:V3OAuth1') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcaccesstoken = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAccessToken') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcauthcode = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAuthorizationCode') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcclientcredentials = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectClientCredentials') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcpassword = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectPassword') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3password = keystoneauth1.loading._plugins.identity.v3:Password') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3samlpassword = keystoneauth1.extras._saml2._loading:Saml2Password') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3token = keystoneauth1.loading._plugins.identity.v3:Token') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3tokenlessauth = keystoneauth1.loading._plugins.identity.v3:TokenlessAuth') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3totp = keystoneauth1.loading._plugins.identity.v3:TOTP') 365s DEBUG (session:517) REQ: curl -g -i -X GET https://keystone.ps6.canonical.com:5000/v3 -H "Accept: application/json" -H "User-Agent: nova keystoneauth1/4.0.0 python-requests/2.22.0 CPython/3.8.10" 365s DEBUG (connectionpool:962) Starting new HTTPS connection (1): keystone.ps6.canonical.com:5000 365s DEBUG (connectionpool:429) https://keystone.ps6.canonical.com:5000 "GET /v3 HTTP/1.1" 200 267 365s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 267 Content-Type: application/json Date: Mon, 02 Dec 2024 15:37:32 GMT Keep-Alive: timeout=75, max=1000 Server: Apache/2.4.52 (Ubuntu) Vary: X-Auth-Token x-openstack-request-id: req-b3a6d426-4474-42fe-a485-8c2c43380ae6 365s DEBUG (session:580) RESP BODY: {"version": {"id": "v3.14", "status": "stable", "updated": "2020-04-07T00:00:00Z", "links": [{"rel": "self", "href": "https://keystone.ps6.canonical.com:5000/v3/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}]}} 365s DEBUG (session:946) GET call to https://keystone.ps6.canonical.com:5000/v3 used request id req-b3a6d426-4474-42fe-a485-8c2c43380ae6 365s DEBUG (base:182) Making authentication request to https://keystone.ps6.canonical.com:5000/v3/auth/tokens 365s DEBUG (connectionpool:429) https://keystone.ps6.canonical.com:5000 "POST /v3/auth/tokens HTTP/1.1" 201 12525 365s DEBUG (base:187) {"token": {"methods": ["password"], "user": {"domain": {"id": "default", "name": "Default"}, "id": "c871debdeffd4cb8b69ce618fc4aa361", "name": "prod-proposed-migration-ppc64el", "password_expires_at": null}, "audit_ids": ["4QgCvhYmSMWq3_lJjtHnOg"], "expires_at": "2024-12-03T15:37:32.000000Z", "issued_at": "2024-12-02T15:37:32.000000Z", "project": {"domain": {"id": "default", "name": "Default"}, "id": "623df63b80274c21bc79a0c35e68d615", "name": "prod-proposed-migration-ppc64el_project"}, "is_domain": false, "roles": [{"id": "86bf3043974746c2bf52c2a9f362f986", "name": "reader"}, {"id": "15cf997650e345b7b21c02b5cdb7d84a", "name": "member"}, {"id": "80674fb26dab46e9a6bd57e7f8193360", "name": "load-balancer_member"}], "is_admin_project": false, "catalog": [{"endpoints": [{"id": "213cdf38198c4581bd5b7d6d0836923b", "interface": "internal", "region_id": "prodstack6", "url": "https://radosgw-internal.ps6.canonical.com:443/", "region": "prodstack6"}, {"id": "67061eee26944a1a8009f9d07be19738", "interface": "public", "region_id": "prodstack6", "url": "https://radosgw.ps6.canonical.com:443/", "region": "prodstack6"}, {"id": "fc88c52c749a47d08a24a2c7efbde01b", "interface": "admin", "region_id": "prodstack6", "url": "https://radosgw-admin.ps6.canonical.com:443/", "region": "prodstack6"}], "id": "06e4714942634054bf9aa11715312b4e", "type": "s3", "name": "s3"}, {"endpoints": [{"id": "8aa44c94b63746bd9b37f1008ad55fa8", "interface": "admin", "region_id": "prodstack6", "url": "https://aodh-admin.ps6.canonical.com:8042", "region": "prodstack6"}, {"id": "92cf08a80a0242ebbca8ec893cf332b1", "interface": "public", "region_id": "prodstack6", "url": "https://aodh.ps6.canonical.com:8042", "region": "prodstack6"}, {"id": "d8139c6e11ae4edcb78981c12bd53212", "interface": "internal", "region_id": "prodstack6", "url": "https://aodh-internal.ps6.canonical.com:8042", "region": "prodstack6"}], "id": "2fb939b0b969435c8f0c5fa4edb4de94", "type": "alarming", "name": "aodh"}, {"endpoints": [{"id": "a49fcc80e658411885f88cdd8432a571", "interface": "internal", "region_id": "prodstack6", "url": "https://heat-internal.ps6.canonical.com:8000/v1", "region": "prodstack6"}, {"id": "b23866fddba8415885b06c064c34b94b", "interface": "public", "region_id": "prodstack6", "url": "https://heat.ps6.canonical.com:8000/v1", "region": "prodstack6"}, {"id": "f84ae55197f94b8392a678f35c82ca26", "interface": "admin", "region_id": "prodstack6", "url": "https://heat-admin.ps6.canonical.com:8000/v1", "region": "prodstack6"}], "id": "3d4b59f7dab644b2b527e8e96b697545", "type": "cloudformation", "name": "heat-cfn"}, {"endpoints": [{"id": "2e0143334c6241169f45f1c11970c6bc", "interface": "public", "region_id": "prodstack6", "url": "https://heat.ps6.canonical.com:8004/v1/623df63b80274c21bc79a0c35e68d615", "region": "prodstack6"}, {"id": "5e19c32243c04a3faf1e5f9ab900c260", "interface": "internal", "region_id": "prodstack6", "url": "https://heat-internal.ps6.canonical.com:8004/v1/623df63b80274c21bc79a0c35e68d615", "region": "prodstack6"}, {"id": "b3fc5c88ec8543a691fec75726b86967", "interface": "admin", "region_id": "prodstack6", "url": "https://heat-admin.ps6.canonical.com:8004/v1/623df63b80274c21bc79a0c35e68d615", "region": "prodstack6"}], "id": "43b926205044476b8093b18d8ce0a9e4", "type": "orchestration", "name": "heat"}, {"endpoints": [{"id": "a47569b96e5b4146a312e4673504557c", "interface": "public", "region_id": "prodstack6", "url": "https://glance.ps6.canonical.com:9292", "region": "prodstack6"}, {"id": "bba35c4ab04f4114a2a34e65568537bd", "interface": "internal", "region_id": "prodstack6", "url": "https://glance-internal.ps6.canonical.com:9292", "region": "prodstack6"}, {"id": "ef769f1117c74a62a279131486c89628", "interface": "admin", "region_id": "prodstack6", "url": "https://glance-admin.ps6.canonical.com:9292", "region": "prodstack6"}], "id": "49de724549524bd78e9cd46a4477226f", "type": "image", "name": "glance"}, {"endpoints": [{"id": "a1a41e9a1e2d42e5b6cd5380cd1e21bf", "interface": "admin", "region_id": "prodstack6", "url": "https://cinder-admin.ps6.canonical.com:8776/v3/623df63b80274c21bc79a0c35e68d615", "region": "prodstack6"}, {"id": "d2309a99724b4111827482c68a832c0c", "interface": "public", "region_id": "prodstack6", "url": "https://cinder.ps6.canonical.com:8776/v3/623df63b80274c21bc79a0c35e68d615", "region": "prodstack6"}, {"id": "f8a02e3949ff42afa772eb5e74dbef9f", "interface": "internal", "region_id": "prodstack6", "url": "https://cinder-internal.ps6.canonical.com:8776/v3/623df63b80274c21bc79a0c35e68d615", "region": "prodstack6"}], "id": "5bf6578a631349e3af4bf36d7adb18e1", "type": "volumev3", "name": "cinderv3"}, {"endpoints": [{"id": "01d84128f36444e9b01549b86bd69116", "interface": "admin", "region_id": "prodstack6", "url": "https://barbican-admin.ps6.canonical.com:9312", "region": "prodstack6"}, {"id": "0ce4a8777e0b40a88f7fc0f77e34a605", "interface": "public", "region_id": "prodstack6", "url": "https://barbican.ps6.canonical.com:9311", "region": "prodstack6"}, {"id": "f507ba49e4a7435cb330234217c92449", "interface": "internal", "region_id": "prodstack6", "url": "https://barbican-internal.ps6.canonical.com:9311", "region": "prodstack6"}], "id": "62cb1c3d9f6c45979c13516a6b3ff114", "type": "key-manager", "name": "barbican"}, {"endpoints": [{"id": "3cb6121bd8f14da8aa2fba7be823a2b4", "interface": "internal", "region_id": "prodstack6", "url": "https://neutron-internal.ps6.canonical.com:9696", "region": "prodstack6"}, {"id": "46ba11d133fe4e8f9e8f9097ba737682", "interface": "admin", "region_id": "prodstack6", "url": "https://neutron-admin.ps6.canonical.com:9696", "region": "prodstack6"}, {"id": "d872eb6aa23d40009165aa3dcdce3948", "interface": "public", "region_id": "prodstack6", "url": "https://neutron.ps6.canonical.com:9696", "region": "prodstack6"}], "id": "759cb6fdfbc146dd8b9d1ba444c4b9db", "type": "network", "name": "neutron"}, {"endpoints": [{"id": "4349d565f72446da9699269f85df5e8b", "interface": "internal", "region_id": "prodstack6", "url": "https://manila-internal.ps6.canonical.com:8786/v2/623df63b80274c21bc79a0c35e68d615", "region": "prodstack6"}, {"id": "a483dcc58f5e415e9ec739c94474e609", "interface": "public", "region_id": "prodstack6", "url": "https://manila.ps6.canonical.com:8786/v2/623df63b80274c21bc79a0c35e68d615", "region": "prodstack6"}, {"id": "c1f14236723e42878562d8dd63d5a6a0", "interface": "admin", "region_id": "prodstack6", "url": "https://manila-admin.ps6.canonical.com:8786/v2/623df63b80274c21bc79a0c35e68d615", "region": "prodstack6"}], "id": "93fc4008035946deb1f433c2dd905a5d", "type": "sharev2", "name": "manilav2"}, {"endpoints": [{"id": "0fa148793c7249c8b187b6b4ff425731", "interface": "internal", "region_id": "prodstack6", "url": "https://radosgw-internal.ps6.canonical.com:443/swift/v1/AUTH_e4b04ca58d734ed0aa29e306adad4f79/simplestreams/data", "region": "prodstack6"}, {"id": "555ade266a6b4bcc81b6e5abf607aec5", "interface": "public", "region_id": "prodstack6", "url": "https://radosgw.ps6.canonical.com:443/swift/v1/AUTH_e4b04ca58d734ed0aa29e306adad4f79/simplestreams/data", "region": "prodstack6"}, {"id": "7dad1a7b1552465686424fc014463173", "interface": "admin", "region_id": "prodstack6", "url": "https://radosgw-admin.ps6.canonical.com:443/swift/simplestreams/data", "region": "prodstack6"}], "id": "977dd359af1a4fcc91a9daf4dc33b0f3", "type": "product-streams", "name": "image-stream"}, {"endpoints": [{"id": "12d30eabcdec4831bd15273d55b1cbab", "interface": "internal", "region_id": "prodstack6", "url": "https://manila-internal.ps6.canonical.com:8786/v1/623df63b80274c21bc79a0c35e68d615", "region": "prodstack6"}, {"id": "29d35b2b483346479f1ff1a13604d50e", "interface": "admin", "region_id": "prodstack6", "url": "https://manila-admin.ps6.canonical.com:8786/v1/623df63b80274c21bc79a0c35e68d615", "region": "prodstack6"}, {"id": "4aa1422b8f5945d8aed9ba6a8d670e5c", "interface": "public", "region_id": "prodstack6", "url": "https://manila.ps6.canonical.com:8786/v1/623df63b80274c21bc79a0c35e68d615", "region": "prodstack6"}], "id": "ac5e4f28fa794cde99f1d7ffc1b664e5", "type": "share", "name": "manila"}, {"endpoints": [{"id": "c7db93d54a684d8caeae1d9e18a59118", "interface": "admin", "region_id": "prodstack6", "url": "https://nova-admin.ps6.canonical.com:8774/v2.1", "region": "prodstack6"}, {"id": "dd7a796f401b477f9f1b5bbc05747d8d", "interface": "public", "region_id": "prodstack6", "url": "https://nova.ps6.canonical.com:8774/v2.1", "region": "prodstack6"}, {"id": "e7ecb038d830462ea67b0b463af5e013", "interface": "internal", "region_id": "prodstack6", "url": "https://nova-internal.ps6.canonical.com:8774/v2.1", "region": "prodstack6"}], "id": "b4519af08e174d4a8333a2d14ac3ba3b", "type": "compute", "name": "nova"}, {"endpoints": [{"id": "02ef5b6154934ffd97d8b5b8e4d70d2a", "interface": "internal", "region_id": "prodstack6", "url": "https://radosgw-internal.ps6.canonical.com:443/swift/v1/AUTH_623df63b80274c21bc79a0c35e68d615", "region": "prodstack6"}, {"id": "2741abe526e94842a4fa801423ba1ef0", "interface": "public", "region_id": "prodstack6", "url": "https://radosgw.ps6.canonical.com:443/swift/v1/AUTH_623df63b80274c21bc79a0c35e68d615", "region": "prodstack6"}, {"id": "3742f9406c604516933d6fd8c29e0880", "interface": "admin", "region_id": "prodstack6", "url": "https://radosgw-admin.ps6.canonical.com:443/swift", "region": "prodstack6"}], "id": "c7f07a7b3b3c408c96200dfd1d1a0f6f", "type": "object-store", "name": "swift"}, {"endpoints": [{"id": "06d4ed6c160a43f2b7fa7f80ad1dc709", "interface": "internal", "region_id": "prodstack6", "url": "https://designate-internal.ps6.canonical.com:9001", "region": "prodstack6"}, {"id": "1e240624a50c4ca0aaa6ef63cbc94f1b", "interface": "admin", "region_id": "prodstack6", "url": "https://designate-admin.ps6.canonical.com:9001", "region": "prodstack6"}, {"id": "f94d7d17997a43fd9c63b34c43301c6e", "interface": "public", "region_id": "prodstack6", "url": "https://designate.ps6.canonical.com:9001", "region": "prodstack6"}], "id": "cf82013d63844fedbe96bcacb6bd1fef", "type": "dns", "name": "designate"}, {"endpoints": [{"id": "4a688340be464710bfa60bf3f88f41c4", "interface": "admin", "region_id": "prodstack6", "url": "https://gnocchi-admin.ps6.canonical.com:8041", "region": "prodstack6"}, {"id": "a5a95506c96d4716adb4efc3ac9051be", "interface": "public", "region_id": "prodstack6", "url": "https://gnocchi.ps6.canonical.com:8041", "region": "prodstack6"}, {"id": "eebc17a086834f8fa8bb6b35c8061a8c", "interface": "internal", "region_id": "prodstack6", "url": "https://gnocchi-internal.ps6.canonical.com:8041", "region": "prodstack6"}], "id": "d10589e854a446a5b852593f33f170a7", "type": "metric", "name": "gnocchi"}, {"endpoints": [{"id": "08f66df28d0f47f3bec12f29e06d85ac", "interface": "admin", "region_id": "prodstack6", "url": "https://keystone-admin.ps6.canonical.com:35357/v3", "region": "prodstack6"}, {"id": "46d270b45ceb42db902f4d241afa6a70", "interface": "public", "region_id": "prodstack6", "url": "https://keystone.ps6.canonical.com:5000/v3", "region": "prodstack6"}, {"id": "a4addee11d9349cfa46ec6660dbad947", "interface": "internal", "region_id": "prodstack6", "url": "https://keystone-internal.ps6.canonical.com:5000/v3", "region": "prodstack6"}], "id": "deb38a775a9b4e87a8de9e3eed779882", "type": "identity", "name": "keystone"}, {"endpoints": [{"id": "18b4af5f40664babb94e884c6a53ccf3", "interface": "admin", "region_id": "prodstack6", "url": "https://octavia-admin.ps6.canonical.com:9876", "region": "prodstack6"}, {"id": "2b6f7ba7f9944ee1aebd6dccc5223b2d", "interface": "internal", "region_id": "prodstack6", "url": "https://octavia-internal.ps6.canonical.com:9876", "region": "prodstack6"}, {"id": "5e3012e9c79e4890be4d964b6208f5c6", "interface": "public", "region_id": "prodstack6", "url": "https://octavia.ps6.canonical.com:9876", "region": "prodstack6"}], "id": "e00337be20d54948b66a1c3109b885c6", "type": "load-balancer", "name": "octavia"}, {"endpoints": [{"id": "2d2942b35f3041389ad810f679d02f22", "interface": "public", "region_id": "prodstack6", "url": "https://placement.ps6.canonical.com:8778", "region": "prodstack6"}, {"id": "2e3beaac7ac14284b72e2592820ad725", "interface": "admin", "region_id": "prodstack6", "url": "https://placement-admin.ps6.canonical.com:8778", "region": "prodstack6"}, {"id": "91060f6df9ae444f81808adf40540d94", "interface": "internal", "region_id": "prodstack6", "url": "https://placement-internal.ps6.canonical.com:8778", "region": "prodstack6"}], "id": "edc6e37f154f4c0ab3dd4d52b82bf873", "type": "placement", "name": "placement"}]}} 365s REQ: curl -g -i -X GET https://nova.ps6.canonical.com:8774/v2.1 -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}0aa5c2049931588f662ea29a24a4c2befd077a5d80b30e932165c5339227a44b" 365s DEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps6.canonical.com:8774/v2.1 -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}0aa5c2049931588f662ea29a24a4c2befd077a5d80b30e932165c5339227a44b" 365s DEBUG (connectionpool:962) Starting new HTTPS connection (1): nova.ps6.canonical.com:8774 365s DEBUG (connectionpool:429) https://nova.ps6.canonical.com:8774 "GET /v2.1 HTTP/1.1" 302 0 365s RESP: [302] Connection: Keep-Alive Content-Length: 0 Content-Type: text/plain; charset=utf8 Date: Mon, 02 Dec 2024 15:37:32 GMT Keep-Alive: timeout=75, max=1000 Location: https://nova.ps6.canonical.com:8774/v2.1/ Server: Apache/2.4.52 (Ubuntu) x-compute-request-id: req-1cf5d1e5-2d23-4dfa-b971-857bcd90f9c0 x-openstack-request-id: req-1cf5d1e5-2d23-4dfa-b971-857bcd90f9c0 365s DEBUG (session:548) RESP: [302] Connection: Keep-Alive Content-Length: 0 Content-Type: text/plain; charset=utf8 Date: Mon, 02 Dec 2024 15:37:32 GMT Keep-Alive: timeout=75, max=1000 Location: https://nova.ps6.canonical.com:8774/v2.1/ Server: Apache/2.4.52 (Ubuntu) x-compute-request-id: req-1cf5d1e5-2d23-4dfa-b971-857bcd90f9c0 x-openstack-request-id: req-1cf5d1e5-2d23-4dfa-b971-857bcd90f9c0 365s RESP BODY: Omitted, Content-Type is set to text/plain; charset=utf8. Only application/json responses have their bodies logged. 365s DEBUG (session:580) RESP BODY: Omitted, Content-Type is set to text/plain; charset=utf8. Only application/json responses have their bodies logged. 365s DEBUG (connectionpool:429) https://nova.ps6.canonical.com:8774 "GET /v2.1/ HTTP/1.1" 200 397 365s RESP: [200] Connection: Keep-Alive Content-Length: 397 Content-Type: application/json Date: Mon, 02 Dec 2024 15:37:33 GMT Keep-Alive: timeout=75, max=999 OpenStack-API-Version: compute 2.1 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.1 x-compute-request-id: req-195bbd78-a102-47c1-93fb-3b554db989a4 x-openstack-request-id: req-195bbd78-a102-47c1-93fb-3b554db989a4 365s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 397 Content-Type: application/json Date: Mon, 02 Dec 2024 15:37:33 GMT Keep-Alive: timeout=75, max=999 OpenStack-API-Version: compute 2.1 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.1 x-compute-request-id: req-195bbd78-a102-47c1-93fb-3b554db989a4 x-openstack-request-id: req-195bbd78-a102-47c1-93fb-3b554db989a4 365s RESP BODY: {"version": {"id": "v2.1", "status": "CURRENT", "version": "2.90", "min_version": "2.1", "updated": "2013-07-23T11:33:21Z", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/"}, {"rel": "describedby", "type": "text/html", "href": "http://docs.openstack.org/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2.1"}]}} 365s DEBUG (session:580) RESP BODY: {"version": {"id": "v2.1", "status": "CURRENT", "version": "2.90", "min_version": "2.1", "updated": "2013-07-23T11:33:21Z", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/"}, {"rel": "describedby", "type": "text/html", "href": "http://docs.openstack.org/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2.1"}]}} 365s GET call to compute for https://nova.ps6.canonical.com:8774/v2.1/ used request id req-195bbd78-a102-47c1-93fb-3b554db989a4 365s DEBUG (session:936) GET call to compute for https://nova.ps6.canonical.com:8774/v2.1/ used request id req-195bbd78-a102-47c1-93fb-3b554db989a4 365s DEBUG (extension:189) found extension EntryPoint.parse('v1password = swiftclient.authv1:PasswordLoader') 365s DEBUG (extension:189) found extension EntryPoint.parse('noauth = cinderclient.contrib.noauth:CinderNoAuthLoader') 365s DEBUG (extension:189) found extension EntryPoint.parse('admin_token = keystoneauth1.loading._plugins.admin_token:AdminToken') 365s DEBUG (extension:189) found extension EntryPoint.parse('none = keystoneauth1.loading._plugins.noauth:NoAuth') 365s DEBUG (extension:189) found extension EntryPoint.parse('password = keystoneauth1.loading._plugins.identity.generic:Password') 365s DEBUG (extension:189) found extension EntryPoint.parse('token = keystoneauth1.loading._plugins.identity.generic:Token') 365s DEBUG (extension:189) found extension EntryPoint.parse('v2password = keystoneauth1.loading._plugins.identity.v2:Password') 365s DEBUG (extension:189) found extension EntryPoint.parse('v2token = keystoneauth1.loading._plugins.identity.v2:Token') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3adfspassword = keystoneauth1.extras._saml2._loading:ADFSPassword') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3applicationcredential = keystoneauth1.loading._plugins.identity.v3:ApplicationCredential') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3fedkerb = keystoneauth1.extras.kerberos._loading:MappedKerberos') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3kerberos = keystoneauth1.extras.kerberos._loading:Kerberos') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3multifactor = keystoneauth1.loading._plugins.identity.v3:MultiFactor') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3oauth1 = keystoneauth1.extras.oauth1._loading:V3OAuth1') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcaccesstoken = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAccessToken') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcauthcode = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAuthorizationCode') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcclientcredentials = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectClientCredentials') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcpassword = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectPassword') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3password = keystoneauth1.loading._plugins.identity.v3:Password') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3samlpassword = keystoneauth1.extras._saml2._loading:Saml2Password') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3token = keystoneauth1.loading._plugins.identity.v3:Token') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3tokenlessauth = keystoneauth1.loading._plugins.identity.v3:TokenlessAuth') 365s DEBUG (extension:189) found extension EntryPoint.parse('v3totp = keystoneauth1.loading._plugins.identity.v3:TOTP') 365s DEBUG (session:517) REQ: curl -g -i -X GET https://glance.ps6.canonical.com:9292/v2/images/1217a33d-4450-41fa-8048-44455666bd68 -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}0aa5c2049931588f662ea29a24a4c2befd077a5d80b30e932165c5339227a44b" -H "X-OpenStack-Nova-API-Version: 2.87" 365s DEBUG (connectionpool:962) Starting new HTTPS connection (1): glance.ps6.canonical.com:9292 365s DEBUG (connectionpool:429) https://glance.ps6.canonical.com:9292 "GET /v2/images/1217a33d-4450-41fa-8048-44455666bd68 HTTP/1.1" 200 2294 365s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 2294 Content-Type: application/json Date: Mon, 02 Dec 2024 15:37:33 GMT Keep-Alive: timeout=75, max=1000 Server: Apache/2.4.52 (Ubuntu) X-Openstack-Request-Id: req-e4850858-4053-4931-8463-89371cf9aee7 365s DEBUG (session:580) RESP BODY: {"architecture": "ppc64le", "base_image_ref": "fe0db2b7-58a0-4fc8-80f2-2de75285f410", "boot_roles": "member,load-balancer_member,reader", "content_id": "auto.sync", "hw_cdrom_bus": "scsi", "hw_disk_bus": "virtio", "hw_machine_type": "pseries", "hw_video_model": "vga", "hw_vif_model": "virtio", "image_location": "snapshot", "image_state": "available", "image_type": "snapshot", "instance_uuid": "36e1ffd8-3a3d-438c-8f19-e65d7e3f1f1b", "item_name": "disk1.img", "os_distro": "ubuntu", "os_version": "25.04", "owner_id": "623df63b80274c21bc79a0c35e68d615", "owner_project_name": "prod-proposed-migration-ppc64el_project", "owner_user_name": "prod-proposed-migration-ppc64el", "product_name": "com.ubuntu.cloud.daily:server:25.04:ppc64el", "simplestreams_metadata": "{\"aliases\": \"25.04,p,plucky,devel\", \"arch\": \"ppc64el\", \"ftype\": \"disk1.img\", \"label\": \"daily\", \"md5\": \"868c4a485be864f509a834d2ceda4d5a\", \"os\": \"ubuntu\", \"pubname\": \"ubuntu-plucky-daily-ppc64el-server-20241122\", \"release\": \"plucky\", \"release_codename\": \"P", "source_content_id": "com.ubuntu.cloud:daily:download", "user_id": "c871debdeffd4cb8b69ce618fc4aa361", "version_name": "20241122", "name": "adt/ubuntu-plucky-ppc64el-server-20241202.img", "disk_format": "qcow2", "container_format": "bare", "visibility": "private", "size": 2717319168, "virtual_size": 21474836480, "status": "active", "checksum": "d1b8d99cc8e28bcc420af181f64ba7f2", "protected": false, "min_ram": 0, "min_disk": 20, "owner": "623df63b80274c21bc79a0c35e68d615", "os_hidden": false, "os_hash_algo": "sha512", "os_hash_value": "fe683e7ceaa86adf5dbc0a66a7ddd60ad3ac1fda141f2ae7bb4706a4e4f27f67a4d0e6cac118774d829666a2df86fa0b5bd323a672f4c766d7fbae5acff474db", "id": "1217a33d-4450-41fa-8048-44455666bd68", "created_at": "2024-12-02T02:08:01Z", "updated_at": "2024-12-02T02:08:35Z", "locations": [{"url": "rbd://eea9d068-c18c-11ed-8dc0-013aacb71b80/glance/1217a33d-4450-41fa-8048-44455666bd68/snap", "metadata": {"store": "ceph"}}], "direct_url": "rbd://eea9d068-c18c-11ed-8dc0-013aacb71b80/glance/1217a33d-4450-41fa-8048-44455666bd68/snap", "tags": [], "self": "/v2/images/1217a33d-4450-41fa-8048-44455666bd68", "file": "/v2/images/1217a33d-4450-41fa-8048-44455666bd68/file", "schema": "/v2/schemas/image", "stores": "ceph"} 365s DEBUG (session:936) GET call to image for https://glance.ps6.canonical.com:9292/v2/images/1217a33d-4450-41fa-8048-44455666bd68 used request id req-e4850858-4053-4931-8463-89371cf9aee7 365s DEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps6.canonical.com:8774/v2.1/flavors/autopkgtest-ppc64el -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}0aa5c2049931588f662ea29a24a4c2befd077a5d80b30e932165c5339227a44b" -H "X-OpenStack-Nova-API-Version: 2.87" 365s DEBUG (connectionpool:429) https://nova.ps6.canonical.com:8774 "GET /v2.1/flavors/autopkgtest-ppc64el HTTP/1.1" 404 92 365s DEBUG (session:548) RESP: [404] Connection: Keep-Alive Content-Length: 92 Content-Type: application/json; charset=UTF-8 Date: Mon, 02 Dec 2024 15:37:33 GMT Keep-Alive: timeout=75, max=998 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 x-compute-request-id: req-95b611c6-bd6f-477e-8733-1fc7766eb859 x-openstack-request-id: req-95b611c6-bd6f-477e-8733-1fc7766eb859 365s DEBUG (session:580) RESP BODY: {"itemNotFound": {"code": 404, "message": "Flavor autopkgtest-ppc64el could not be found."}} 365s DEBUG (session:936) GET call to compute for https://nova.ps6.canonical.com:8774/v2.1/flavors/autopkgtest-ppc64el used request id req-95b611c6-bd6f-477e-8733-1fc7766eb859 365s DEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps6.canonical.com:8774/v2.1/flavors?is_public=None -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}0aa5c2049931588f662ea29a24a4c2befd077a5d80b30e932165c5339227a44b" -H "X-OpenStack-Nova-API-Version: 2.87" 365s DEBUG (connectionpool:429) https://nova.ps6.canonical.com:8774 "GET /v2.1/flavors?is_public=None HTTP/1.1" 200 39839 365s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 39839 Content-Type: application/json Date: Mon, 02 Dec 2024 15:37:33 GMT Keep-Alive: timeout=75, max=997 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 x-compute-request-id: req-b7f91388-cd1c-4978-bfa8-4af6f91abd8d x-openstack-request-id: req-b7f91388-cd1c-4978-bfa8-4af6f91abd8d 365s DEBUG (session:580) RESP BODY: {"flavors": [{"id": "05338e57-e2ba-4813-9a8a-2f2af73f8ab2", "name": "builder-ppc64el-cpu2-ram4-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/05338e57-e2ba-4813-9a8a-2f2af73f8ab2"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/05338e57-e2ba-4813-9a8a-2f2af73f8ab2"}], "description": null}, {"id": "08090b4b-98a9-4c15-8ad4-cc6711700879", "name": "builder-ppc64el-cpu8-ram64-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/08090b4b-98a9-4c15-8ad4-cc6711700879"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/08090b4b-98a9-4c15-8ad4-cc6711700879"}], "description": null}, {"id": "0825b8b1-2b9c-42bf-b3e6-e827c22d8df5", "name": "builder-ppc64el-cpu8-ram4-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/0825b8b1-2b9c-42bf-b3e6-e827c22d8df5"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/0825b8b1-2b9c-42bf-b3e6-e827c22d8df5"}], "description": null}, {"id": "0b06db45-151e-44b2-b0f5-f069ad7fa1cb", "name": "builder-ppc64el-cpu2-ram12-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/0b06db45-151e-44b2-b0f5-f069ad7fa1cb"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/0b06db45-151e-44b2-b0f5-f069ad7fa1cb"}], "description": null}, {"id": "0dbf127e-3101-4f05-9d37-15ad6d2a45c1", "name": "builder-ppc64el-cpu2-ram16-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/0dbf127e-3101-4f05-9d37-15ad6d2a45c1"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/0dbf127e-3101-4f05-9d37-15ad6d2a45c1"}], "description": null}, {"id": "102d0b57-e8d2-46c6-9be4-f452119a0280", "name": "autopkgtest-ppc64el", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/102d0b57-e8d2-46c6-9be4-f452119a0280"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/102d0b57-e8d2-46c6-9be4-f452119a0280"}], "description": null}, {"id": "1219f5f0-83f3-4d33-a3bb-1a85c6303159", "name": "builder-ppc64el-cpu128-ram64-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/1219f5f0-83f3-4d33-a3bb-1a85c6303159"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/1219f5f0-83f3-4d33-a3bb-1a85c6303159"}], "description": null}, {"id": "1359c5a4-ee60-4855-9bcc-defd3bff7121", "name": "builder-ppc64el-cpu8-ram8-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/1359c5a4-ee60-4855-9bcc-defd3bff7121"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/1359c5a4-ee60-4855-9bcc-defd3bff7121"}], "description": null}, {"id": "161f21bc-11f7-4ec9-a322-04fc3e0d2a68", "name": "builder-ppc64el-cpu2-ram55-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/161f21bc-11f7-4ec9-a322-04fc3e0d2a68"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/161f21bc-11f7-4ec9-a322-04fc3e0d2a68"}], "description": null}, {"id": "166070cd-7110-473e-a6a2-5e25aa9eeefd", "name": "builder-ppc64el-cpu4-ram64-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/166070cd-7110-473e-a6a2-5e25aa9eeefd"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/166070cd-7110-473e-a6a2-5e25aa9eeefd"}], "description": null}, {"id": "16a0a259-4627-4fbd-bb9d-a3e69346467c", "name": "builder-ppc64el-cpu8-ram64-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/16a0a259-4627-4fbd-bb9d-a3e69346467c"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/16a0a259-4627-4fbd-bb9d-a3e69346467c"}], "description": null}, {"id": "1c59e50a-1a67-4691-8f2c-6954cb0f83ba", "name": "builder-ppc64el-cpu4-ram128-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/1c59e50a-1a67-4691-8f2c-6954cb0f83ba"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/1c59e50a-1a67-4691-8f2c-6954cb0f83ba"}], "description": null}, {"id": "1c94efa8-905a-4bff-8485-0aaf9ac47fe7", "name": "builder-ppc64el-cpu4-ram16-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/1c94efa8-905a-4bff-8485-0aaf9ac47fe7"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/1c94efa8-905a-4bff-8485-0aaf9ac47fe7"}], "description": null}, {"id": "213c954d-26ed-4c86-9592-66384bc22c82", "name": "builder-ppc64el-cpu4-ram16-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/213c954d-26ed-4c86-9592-66384bc22c82"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/213c954d-26ed-4c86-9592-66384bc22c82"}], "description": null}, {"id": "219e90b4-8850-4fa4-b028-4cf7657c3264", "name": "builder-ppc64el-cpu16-ram64-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/219e90b4-8850-4fa4-b028-4cf7657c3264"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/219e90b4-8850-4fa4-b028-4cf7657c3264"}], "description": null}, {"id": "21de1f2a-7ad2-4da5-b6af-de683afb51c9", "name": "builder-ppc64el-cpu48-ram64-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/21de1f2a-7ad2-4da5-b6af-de683afb51c9"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/21de1f2a-7ad2-4da5-b6af-de683afb51c9"}], "description": null}, {"id": "2363173d-a2e1-4383-945f-d69f583a729a", "name": "builder-ppc64el-cpu128-ram128-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/2363173d-a2e1-4383-945f-d69f583a729a"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/2363173d-a2e1-4383-945f-d69f583a729a"}], "description": null}, {"id": "23b7a6d6-425f-4669-961d-be7fed7725d3", "name": "builder-ppc64el-cpu2-ram12-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/23b7a6d6-425f-4669-961d-be7fed7725d3"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/23b7a6d6-425f-4669-961d-be7fed7725d3"}], "description": null}, {"id": "2464732a-3147-40fb-b375-2d275070a1f3", "name": "builder-ppc64el-cpu2-ram64-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/2464732a-3147-40fb-b375-2d275070a1f3"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/2464732a-3147-40fb-b375-2d275070a1f3"}], "description": null}, {"id": "250ba167-175c-4548-be23-47a517fa3701", "name": "builder-ppc64el-cpu16-ram72-disk80", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/250ba167-175c-4548-be23-47a517fa3701"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/250ba167-175c-4548-be23-47a517fa3701"}], "description": null}, {"id": "27ffca72-b7d0-4d4b-96c6-de69e0f767bd", "name": "builder-ppc64el-cpu2-ram8-disk1500", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/27ffca72-b7d0-4d4b-96c6-de69e0f767bd"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/27ffca72-b7d0-4d4b-96c6-de69e0f767bd"}], "description": null}, {"id": "2b2e94dd-a11d-4eae-93df-c8cce920b95e", "name": "builder-ppc64el-cpu2-ram32-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/2b2e94dd-a11d-4eae-93df-c8cce920b95e"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/2b2e94dd-a11d-4eae-93df-c8cce920b95e"}], "description": null}, {"id": "2d842f6f-be4f-4b39-bc9e-a8dbf3233bc1", "name": "builder-ppc64el-cpu2-ram4-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/2d842f6f-be4f-4b39-bc9e-a8dbf3233bc1"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/2d842f6f-be4f-4b39-bc9e-a8dbf3233bc1"}], "description": null}, {"id": "2f626a91-24b0-44ba-afa5-2cab984ae81f", "name": "builder-ppc64el-cpu128-ram32-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/2f626a91-24b0-44ba-afa5-2cab984ae81f"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/2f626a91-24b0-44ba-afa5-2cab984ae81f"}], "description": null}, {"id": "3325f74a-e433-4072-8c2c-b50052e31602", "name": "builder-ppc64el-cpu2-ram8-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/3325f74a-e433-4072-8c2c-b50052e31602"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/3325f74a-e433-4072-8c2c-b50052e31602"}], "description": null}, {"id": "34df8936-a2ae-450a-9fea-2cdaebae5803", "name": "builder-ppc64el-cpu8-ram16-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/34df8936-a2ae-450a-9fea-2cdaebae5803"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/34df8936-a2ae-450a-9fea-2cdaebae5803"}], "description": null}, {"id": "378080cb-1d08-401a-b556-0f903a79ae2c", "name": "builder-ppc64el-cpu8-ram12-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/378080cb-1d08-401a-b556-0f903a79ae2c"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/378080cb-1d08-401a-b556-0f903a79ae2c"}], "description": null}, {"id": "37ed4cfe-a588-40c4-8494-098403c1f0f3", "name": "builder-ppc64el-cpu4-ram12-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/37ed4cfe-a588-40c4-8494-098403c1f0f3"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/37ed4cfe-a588-40c4-8494-098403c1f0f3"}], "description": null}, {"id": "3aa7a161-3310-40b9-8e89-195294d45b10", "name": "builder-ppc64el-cpu48-ram128-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/3aa7a161-3310-40b9-8e89-195294d45b10"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/3aa7a161-3310-40b9-8e89-195294d45b10"}], "description": null}, {"id": "3c30219d-30a4-4fb4-bf2e-da5602313583", "name": "builder-ppc64el-cpu2-ram32-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/3c30219d-30a4-4fb4-bf2e-da5602313583"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/3c30219d-30a4-4fb4-bf2e-da5602313583"}], "description": null}, {"id": "3f533bb3-541c-4868-8883-69a5f1be7c80", "name": "builder-ppc64el-cpu16-ram16-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/3f533bb3-541c-4868-8883-69a5f1be7c80"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/3f533bb3-541c-4868-8883-69a5f1be7c80"}], "description": null}, {"id": "40ca84e0-d087-4f4b-bba2-e1823c6d3b85", "name": "builder-ppc64el-cpu8-ram8-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/40ca84e0-d087-4f4b-bba2-e1823c6d3b85"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/40ca84e0-d087-4f4b-bba2-e1823c6d3b85"}], "description": null}, {"id": "47276443-70e8-487f-9aaa-ef1a05b07c3c", "name": "builder-ppc64el-cpu4-ram105-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/47276443-70e8-487f-9aaa-ef1a05b07c3c"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/47276443-70e8-487f-9aaa-ef1a05b07c3c"}], "description": null}, {"id": "4d315fef-8774-4e68-916d-a6f08c302c0c", "name": "builder-ppc64el-cpu16-ram32-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/4d315fef-8774-4e68-916d-a6f08c302c0c"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/4d315fef-8774-4e68-916d-a6f08c302c0c"}], "description": null}, {"id": "4ea8e0b3-bd6c-4df2-a3bd-2b7dea6aea13", "name": "builder-ppc64el-cpu4-ram8-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/4ea8e0b3-bd6c-4df2-a3bd-2b7dea6aea13"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/4ea8e0b3-bd6c-4df2-a3bd-2b7dea6aea13"}], "description": null}, {"id": "503bfc0d-e770-441c-90b7-7049e4bdbe7e", "name": "builder-ppc64el-cpu8-ram120-disk28", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/503bfc0d-e770-441c-90b7-7049e4bdbe7e"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/503bfc0d-e770-441c-90b7-7049e4bdbe7e"}], "description": null}, {"id": "510412bb-aeb3-43d8-a0f0-cdb0cf97a5f2", "name": "builder-ppc64el-cpu4-ram4-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/510412bb-aeb3-43d8-a0f0-cdb0cf97a5f2"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/510412bb-aeb3-43d8-a0f0-cdb0cf97a5f2"}], "description": null}, {"id": "53b9821c-da67-415d-990c-2f023ff61d1e", "name": "builder-ppc64el-cpu8-ram32-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/53b9821c-da67-415d-990c-2f023ff61d1e"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/53b9821c-da67-415d-990c-2f023ff61d1e"}], "description": null}, {"id": "556a816f-2280-4167-bba4-0319a6d3aba9", "name": "builder-ppc64el-cpu8-ram4-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/556a816f-2280-4167-bba4-0319a6d3aba9"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/556a816f-2280-4167-bba4-0319a6d3aba9"}], "description": null}, {"id": "560c2269-9192-4b41-8787-506b25ef7067", "name": "builder-ppc64el-cpu8-ram8-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/560c2269-9192-4b41-8787-506b25ef7067"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/560c2269-9192-4b41-8787-506b25ef7067"}], "description": null}, {"id": "57403612-9552-4ada-8e55-b40624c3d8f4", "name": "builder-ppc64el-cpu8-ram16-disk500", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/57403612-9552-4ada-8e55-b40624c3d8f4"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/57403612-9552-4ada-8e55-b40624c3d8f4"}], "description": null}, {"id": "59bee3ae-a610-4f1a-b13f-a5f3400d2412", "name": "builder-ppc64el-cpu16-ram16-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/59bee3ae-a610-4f1a-b13f-a5f3400d2412"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/59bee3ae-a610-4f1a-b13f-a5f3400d2412"}], "description": null}, {"id": "5bf0bfb6-311e-4895-a22e-228b091cde43", "name": "builder-ppc64el-cpu24-ram64-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/5bf0bfb6-311e-4895-a22e-228b091cde43"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/5bf0bfb6-311e-4895-a22e-228b091cde43"}], "description": null}, {"id": "5d1a2077-5359-4a36-922a-351690cae9cc", "name": "builder-ppc64el-cpu4-ram8-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/5d1a2077-5359-4a36-922a-351690cae9cc"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/5d1a2077-5359-4a36-922a-351690cae9cc"}], "description": null}, {"id": "60cc1be7-1fa9-49e9-8702-419f39585f4b", "name": "builder-ppc64el-cpu8-ram16-disk200", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/60cc1be7-1fa9-49e9-8702-419f39585f4b"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/60cc1be7-1fa9-49e9-8702-419f39585f4b"}], "description": null}, {"id": "62f8dfc9-c388-44d0-962f-79bb9917cd11", "name": "builder-ppc64el-cpu2-ram44-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/62f8dfc9-c388-44d0-962f-79bb9917cd11"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/62f8dfc9-c388-44d0-962f-79bb9917cd11"}], "description": null}, {"id": "6679449d-f912-473e-82a2-42546b3087e2", "name": "builder-ppc64el-cpu24-ram128-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/6679449d-f912-473e-82a2-42546b3087e2"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/6679449d-f912-473e-82a2-42546b3087e2"}], "description": null}, {"id": "694472bd-b1d9-4708-a626-5e5b3dc7e09a", "name": "builder-ppc64el-cpu4-ram8-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/694472bd-b1d9-4708-a626-5e5b3dc7e09a"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/694472bd-b1d9-4708-a626-5e5b3dc7e09a"}], "description": null}, {"id": "696dde5e-582a-44cf-a030-ef883bc20144", "name": "builder-ppc64el-cpu8-ram16-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/696dde5e-582a-44cf-a030-ef883bc20144"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/696dde5e-582a-44cf-a030-ef883bc20144"}], "description": null}, {"id": "6e611cfc-91b1-4ade-877b-32b26ee297eb", "name": "builder-ppc64el-cpu2-ram16-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/6e611cfc-91b1-4ade-877b-32b26ee297eb"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/6e611cfc-91b1-4ade-877b-32b26ee297eb"}], "description": null}, {"id": "6e66fb56-0aa8-47f9-a877-e48efe207344", "name": "builder-ppc64el-cpu8-ram32-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/6e66fb56-0aa8-47f9-a877-e48efe207344"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/6e66fb56-0aa8-47f9-a877-e48efe207344"}], "description": null}, {"id": "70ba6763-188c-45d0-bb63-7e7930afb1aa", "name": "builder-ppc64el-cpu32-ram256-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/70ba6763-188c-45d0-bb63-7e7930afb1aa"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/70ba6763-188c-45d0-bb63-7e7930afb1aa"}], "description": null}, {"id": "73ce7235-e8b9-4370-aeba-3a33729c46b3", "name": "builder-ppc64el-cpu4-ram16-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/73ce7235-e8b9-4370-aeba-3a33729c46b3"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/73ce7235-e8b9-4370-aeba-3a33729c46b3"}], "description": null}, {"id": "74ef175b-e74b-4750-a5c3-abcefba98501", "name": "builder-ppc64el-cpu8-ram12-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/74ef175b-e74b-4750-a5c3-abcefba98501"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/74ef175b-e74b-4750-a5c3-abcefba98501"}], "description": null}, {"id": "79aee276-b044-40e3-bf50-9ba4009d1400", "name": "builder-ppc64el-cpu8-ram32-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/79aee276-b044-40e3-bf50-9ba4009d1400"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/79aee276-b044-40e3-bf50-9ba4009d1400"}], "description": null}, {"id": "79e5d123-cfc1-4b78-a85b-b607091140eb", "name": "builder-ppc64el-cpu64-ram128-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/79e5d123-cfc1-4b78-a85b-b607091140eb"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/79e5d123-cfc1-4b78-a85b-b607091140eb"}], "description": null}, {"id": "7c20dd8b-310a-4013-ac86-21fdfb5ff536", "name": "builder-ppc64el-cpu8-ram128-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/7c20dd8b-310a-4013-ac86-21fdfb5ff536"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/7c20dd8b-310a-4013-ac86-21fdfb5ff536"}], "description": null}, {"id": "82e7fa99-f07c-46de-8f52-b92ad80a561a", "name": "builder-ppc64el-cpu2-ram16-disk68", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/82e7fa99-f07c-46de-8f52-b92ad80a561a"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/82e7fa99-f07c-46de-8f52-b92ad80a561a"}], "description": null}, {"id": "85159e74-03c6-4178-bb31-e756efd11acb", "name": "builder-ppc64el-cpu16-ram8-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/85159e74-03c6-4178-bb31-e756efd11acb"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/85159e74-03c6-4178-bb31-e756efd11acb"}], "description": null}, {"id": "85f8b76d-5d7f-4f2a-998c-cd1d11c834ac", "name": "builder-ppc64el-cpu4-ram64-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/85f8b76d-5d7f-4f2a-998c-cd1d11c834ac"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/85f8b76d-5d7f-4f2a-998c-cd1d11c834ac"}], "description": null}, {"id": "861fa361-94af-45b2-9de2-5cbe0df87b1f", "name": "builder-ppc64el-cpu4-ram12-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/861fa361-94af-45b2-9de2-5cbe0df87b1f"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/861fa361-94af-45b2-9de2-5cbe0df87b1f"}], "description": null}, {"id": "88f7a27b-bd61-4d5e-a90f-391ef9d78fc4", "name": "builder-ppc64el-cpu4-ram105-disk28", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/88f7a27b-bd61-4d5e-a90f-391ef9d78fc4"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/88f7a27b-bd61-4d5e-a90f-391ef9d78fc4"}], "description": null}, {"id": "89afc706-8e2c-4ccd-b411-2d387d894209", "name": "builder-ppc64el-cpu2-ram16-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/89afc706-8e2c-4ccd-b411-2d387d894209"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/89afc706-8e2c-4ccd-b411-2d387d894209"}], "description": null}, {"id": "905418ec-52e8-4ae7-adf1-ccef895e14c2", "name": "builder-ppc64el-cpu4-ram64-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/905418ec-52e8-4ae7-adf1-ccef895e14c2"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/905418ec-52e8-4ae7-adf1-ccef895e14c2"}], "description": null}, {"id": "95b1a0b4-1ecc-4ceb-a8d6-2d3bdefbce79", "name": "builder-ppc64el-cpu2-ram8-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/95b1a0b4-1ecc-4ceb-a8d6-2d3bdefbce79"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/95b1a0b4-1ecc-4ceb-a8d6-2d3bdefbce79"}], "description": null}, {"id": "97704ac8-c97f-4f00-8e0d-85aa4e940154", "name": "builder-ppc64el-cpu2-ram12-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/97704ac8-c97f-4f00-8e0d-85aa4e940154"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/97704ac8-c97f-4f00-8e0d-85aa4e940154"}], "description": null}, {"id": "9a51418a-b43e-417c-9d1d-5c706d3ca620", "name": "builder-ppc64el-cpu8-ram40-disk68", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/9a51418a-b43e-417c-9d1d-5c706d3ca620"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/9a51418a-b43e-417c-9d1d-5c706d3ca620"}], "description": null}, {"id": "9af1f804-8d3b-4769-b317-63a8ee73942b", "name": "builder-ppc64el-cpu4-ram8-disk200", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/9af1f804-8d3b-4769-b317-63a8ee73942b"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/9af1f804-8d3b-4769-b317-63a8ee73942b"}], "description": null}, {"id": "9b15a7c7-c4c2-4841-b95e-928a217f2995", "name": "builder-ppc64el-cpu128-ram128-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/9b15a7c7-c4c2-4841-b95e-928a217f2995"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/9b15a7c7-c4c2-4841-b95e-928a217f2995"}], "description": null}, {"id": "9bec8a82-6767-45bd-826f-abd939beb5e3", "name": "builder-ppc64el-cpu4-ram12-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/9bec8a82-6767-45bd-826f-abd939beb5e3"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/9bec8a82-6767-45bd-826f-abd939beb5e3"}], "description": null}, {"id": "9e195c66-66cf-4314-bf0c-7b24de55e52f", "name": "builder-ppc64el-cpu8-ram64-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/9e195c66-66cf-4314-bf0c-7b24de55e52f"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/9e195c66-66cf-4314-bf0c-7b24de55e52f"}], "description": null}, {"id": "a37e29b1-11ac-4bd5-a015-a9ee46ed25b8", "name": "builder-ppc64el-cpu32-ram128-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/a37e29b1-11ac-4bd5-a015-a9ee46ed25b8"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/a37e29b1-11ac-4bd5-a015-a9ee46ed25b8"}], "description": null}, {"id": "a8157747-dcd3-4c19-98b7-df687076ae87", "name": "builder-ppc64el-cpu4-ram4-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/a8157747-dcd3-4c19-98b7-df687076ae87"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/a8157747-dcd3-4c19-98b7-df687076ae87"}], "description": null}, {"id": "a8d935bc-6ad6-4942-abdd-670d6421a03b", "name": "builder-ppc64el-cpu128-ram32-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/a8d935bc-6ad6-4942-abdd-670d6421a03b"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/a8d935bc-6ad6-4942-abdd-670d6421a03b"}], "description": null}, {"id": "ac354706-0335-4e10-a755-51a75b1a962c", "name": "builder-ppc64el-cpu4-ram8-disk120", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/ac354706-0335-4e10-a755-51a75b1a962c"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/ac354706-0335-4e10-a755-51a75b1a962c"}], "description": null}, {"id": "acb43878-9eee-4d8a-8ec0-610607dd1a28", "name": "builder-ppc64el-cpu128-ram64-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/acb43878-9eee-4d8a-8ec0-610607dd1a28"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/acb43878-9eee-4d8a-8ec0-610607dd1a28"}], "description": null}, {"id": "ad9b6a30-fa9a-400e-b49b-51f9a3c2eda9", "name": "builder-ppc64el-cpu4-ram72-disk28", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/ad9b6a30-fa9a-400e-b49b-51f9a3c2eda9"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/ad9b6a30-fa9a-400e-b49b-51f9a3c2eda9"}], "description": null}, {"id": "b1004655-b40b-44b4-be0b-7cf1763734a1", "name": "builder-ppc64el-cpu32-ram128-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/b1004655-b40b-44b4-be0b-7cf1763734a1"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/b1004655-b40b-44b4-be0b-7cf1763734a1"}], "description": null}, {"id": "b39a607b-bb86-4b68-a455-9dfcb714130f", "name": "builder-ppc64el-cpu4-ram72-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/b39a607b-bb86-4b68-a455-9dfcb714130f"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/b39a607b-bb86-4b68-a455-9dfcb714130f"}], "description": null}, {"id": "b5673781-1772-4bbf-8526-4d19486c6ac3", "name": "builder-ppc64el-cpu2-ram8-disk28", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/b5673781-1772-4bbf-8526-4d19486c6ac3"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/b5673781-1772-4bbf-8526-4d19486c6ac3"}], "description": null}, {"id": "b7538b06-d418-44a1-8ec5-30cc698ac005", "name": "builder-ppc64el-cpu16-ram32-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/b7538b06-d418-44a1-8ec5-30cc698ac005"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/b7538b06-d418-44a1-8ec5-30cc698ac005"}], "description": null}, {"id": "bc3d73f7-47c5-4533-9915-5da668c18032", "name": "builder-ppc64el-cpu4-ram4-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/bc3d73f7-47c5-4533-9915-5da668c18032"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/bc3d73f7-47c5-4533-9915-5da668c18032"}], "description": null}, {"id": "be11f608-8f5e-4e93-8b39-2e062fc23eb1", "name": "builder-ppc64el-cpu16-ram64-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/be11f608-8f5e-4e93-8b39-2e062fc23eb1"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/be11f608-8f5e-4e93-8b39-2e062fc23eb1"}], "description": null}, {"id": "c7e29ea5-b92f-4011-bc7c-1a81af4e8e98", "name": "builder-ppc64el-cpu8-ram16-disk1000", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/c7e29ea5-b92f-4011-bc7c-1a81af4e8e98"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/c7e29ea5-b92f-4011-bc7c-1a81af4e8e98"}], "description": null}, {"id": "ccda5e60-c156-4367-aeaf-25d9cd9fc4d8", "name": "builder-ppc64el-cpu4-ram24-disk68", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/ccda5e60-c156-4367-aeaf-25d9cd9fc4d8"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/ccda5e60-c156-4367-aeaf-25d9cd9fc4d8"}], "description": null}, {"id": "cdc72dd8-3a8d-4f6f-997b-60017a100228", "name": "builder-ppc64el-cpu4-ram40-disk188", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/cdc72dd8-3a8d-4f6f-997b-60017a100228"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/cdc72dd8-3a8d-4f6f-997b-60017a100228"}], "description": null}, {"id": "cedd22e7-22ba-425e-8ace-5a3607e63239", "name": "builder-ppc64el-cpu16-ram4-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/cedd22e7-22ba-425e-8ace-5a3607e63239"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/cedd22e7-22ba-425e-8ace-5a3607e63239"}], "description": null}, {"id": "cffc3023-932a-439e-8bb7-faf8f6d6c42a", "name": "builder-ppc64el-cpu16-ram128-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/cffc3023-932a-439e-8bb7-faf8f6d6c42a"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/cffc3023-932a-439e-8bb7-faf8f6d6c42a"}], "description": null}, {"id": "d0030e34-8145-4944-a92d-ba1e454c6126", "name": "builder-ppc64el-cpu64-ram256-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/d0030e34-8145-4944-a92d-ba1e454c6126"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/d0030e34-8145-4944-a92d-ba1e454c6126"}], "description": null}, {"id": "d24cccba-50db-4ebf-8e12-4f601202a489", "name": "builder-ppc64el-cpu2-ram4-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/d24cccba-50db-4ebf-8e12-4f601202a489"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/d24cccba-50db-4ebf-8e12-4f601202a489"}], "description": null}, {"id": "d3801d0d-ae1d-474a-be3f-c3b4e0d75ce6", "name": "builder-ppc64el-cpu4-ram32-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/d3801d0d-ae1d-474a-be3f-c3b4e0d75ce6"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/d3801d0d-ae1d-474a-be3f-c3b4e0d75ce6"}], "description": null}, {"id": "d4a9ba53-090a-4189-a822-48d3e2d80aa2", "name": "builder-ppc64el-cpu2-ram32-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/d4a9ba53-090a-4189-a822-48d3e2d80aa2"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/d4a9ba53-090a-4189-a822-48d3e2d80aa2"}], "description": null}, {"id": "d5142b95-4b59-484a-8d9d-e0519b9fdbba", "name": "builder-ppc64el-cpu4-ram32-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/d5142b95-4b59-484a-8d9d-e0519b9fdbba"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/d5142b95-4b59-484a-8d9d-e0519b9fdbba"}], "description": null}, {"id": "d67d41f2-0658-4e81-ac4f-abc5e19944a7", "name": "builder-ppc64el-cpu2-ram64-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/d67d41f2-0658-4e81-ac4f-abc5e19944a7"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/d67d41f2-0658-4e81-ac4f-abc5e19944a7"}], "description": null}, {"id": "d7441372-a91d-47c8-89a4-c08f59ece241", "name": "builder-ppc64el-cpu16-ram32-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/d7441372-a91d-47c8-89a4-c08f59ece241"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/d7441372-a91d-47c8-89a4-c08f59ece241"}], "description": null}, {"id": "da39261b-e816-43f1-a7bb-f5e784e73fbb", "name": "builder-ppc64el-cpu16-ram16-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/da39261b-e816-43f1-a7bb-f5e784e73fbb"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/da39261b-e816-43f1-a7bb-f5e784e73fbb"}], "description": null}, {"id": "dcc8e80f-6e4d-4f7d-a68f-298ebcb4376d", "name": "builder-ppc64el-cpu32-ram256-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/dcc8e80f-6e4d-4f7d-a68f-298ebcb4376d"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/dcc8e80f-6e4d-4f7d-a68f-298ebcb4376d"}], "description": null}, {"id": "dd1211e5-4133-400a-9dc9-71fa83fd4d97", "name": "builder-ppc64el-cpu2-ram55-disk28", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/dd1211e5-4133-400a-9dc9-71fa83fd4d97"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/dd1211e5-4133-400a-9dc9-71fa83fd4d97"}], "description": null}, {"id": "dfa7dc00-528e-45c5-b267-3d798e73e8da", "name": "builder-ppc64el-cpu8-ram4-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/dfa7dc00-528e-45c5-b267-3d798e73e8da"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/dfa7dc00-528e-45c5-b267-3d798e73e8da"}], "description": null}, {"id": "e2116c8a-a35a-432f-8bf7-06bef30c10ae", "name": "builder-ppc64el-cpu8-ram12-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/e2116c8a-a35a-432f-8bf7-06bef30c10ae"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/e2116c8a-a35a-432f-8bf7-06bef30c10ae"}], "description": null}, {"id": "e2818c96-49bf-4337-a614-ae546d7d7302", "name": "builder-ppc64el-cpu4-ram32-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/e2818c96-49bf-4337-a614-ae546d7d7302"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/e2818c96-49bf-4337-a614-ae546d7d7302"}], "description": null}, {"id": "e628d527-f077-426d-9380-5eea778aabc2", "name": "builder-ppc64el-cpu8-ram16-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/e628d527-f077-426d-9380-5eea778aabc2"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/e628d527-f077-426d-9380-5eea778aabc2"}], "description": null}, {"id": "e752e039-cbe4-4a16-8197-de87ba42b83e", "name": "builder-ppc64el-cpu64-ram256-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/e752e039-cbe4-4a16-8197-de87ba42b83e"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/e752e039-cbe4-4a16-8197-de87ba42b83e"}], "description": null}, {"id": "e7f811c8-a60c-45c6-86c8-8e4b025751df", "name": "builder-ppc64el-cpu4-ram16-disk40", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/e7f811c8-a60c-45c6-86c8-8e4b025751df"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/e7f811c8-a60c-45c6-86c8-8e4b025751df"}], "description": null}, {"id": "eb80d7e2-b6e1-42a5-b80d-3dad861f6989", "name": "builder-ppc64el-cpu16-ram4-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/eb80d7e2-b6e1-42a5-b80d-3dad861f6989"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/eb80d7e2-b6e1-42a5-b80d-3dad861f6989"}], "description": null}, {"id": "ed127e2b-02b8-4e61-bf10-0c89b90928e6", "name": "builder-ppc64el-cpu64-ram128-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/ed127e2b-02b8-4e61-bf10-0c89b90928e6"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/ed127e2b-02b8-4e61-bf10-0c89b90928e6"}], "description": null}, {"id": "ef7301a7-71f4-48ac-b387-23251f4060e1", "name": "builder-ppc64el-cpu16-ram8-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/ef7301a7-71f4-48ac-b387-23251f4060e1"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/ef7301a7-71f4-48ac-b387-23251f4060e1"}], "description": null}, {"id": "f0f1af4d-f230-40c1-b789-c94e02a68daa", "name": "builder-ppc64el-cpu16-ram8-disk20", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/f0f1af4d-f230-40c1-b789-c94e02a68daa"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/f0f1af4d-f230-40c1-b789-c94e02a68daa"}], "description": null}, {"id": "f40b2dbc-5d69-40b0-a9fc-71c32de93ca3", "name": "autopkgtest-big-ppc64el", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/f40b2dbc-5d69-40b0-a9fc-71c32de93ca3"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/f40b2dbc-5d69-40b0-a9fc-71c32de93ca3"}], "description": null}, {"id": "f6aae414-e26b-4692-95d4-d851b6993c2a", "name": "builder-ppc64el-cpu2-ram8-disk50", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/f6aae414-e26b-4692-95d4-d851b6993c2a"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/f6aae414-e26b-4692-95d4-d851b6993c2a"}], "description": null}, {"id": "f91b245b-ad92-47f6-8861-d1e070fcc19c", "name": "builder-ppc64el-cpu2-ram64-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/f91b245b-ad92-47f6-8861-d1e070fcc19c"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/f91b245b-ad92-47f6-8861-d1e070fcc19c"}], "description": null}, {"id": "fa3bbba4-5e72-4ca3-9661-ccf45947bbf5", "name": "builder-ppc64el-cpu16-ram4-disk100", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/fa3bbba4-5e72-4ca3-9661-ccf45947bbf5"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/fa3bbba4-5e72-4ca3-9661-ccf45947bbf5"}], "description": null}, {"id": "ff4cf1ee-6e00-49b7-9d11-fafa69b910df", "name": "builder-ppc64el-cpu8-ram32-disk40", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/ff4cf1ee-6e00-49b7-9d11-fafa69b910df"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/ff4cf1ee-6e00-49b7-9d11-fafa69b910df"}], "description": null}]} 365s DEBUG (session:936) GET call to compute for https://nova.ps6.canonical.com:8774/v2.1/flavors?is_public=None used request id req-b7f91388-cd1c-4978-bfa8-4af6f91abd8d 365s DEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps6.canonical.com:8774/v2.1/flavors/102d0b57-e8d2-46c6-9be4-f452119a0280 -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}0aa5c2049931588f662ea29a24a4c2befd077a5d80b30e932165c5339227a44b" -H "X-OpenStack-Nova-API-Version: 2.87" 365s DEBUG (connectionpool:429) https://nova.ps6.canonical.com:8774 "GET /v2.1/flavors/102d0b57-e8d2-46c6-9be4-f452119a0280 HTTP/1.1" 200 623 365s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 623 Content-Type: application/json Date: Mon, 02 Dec 2024 15:37:33 GMT Keep-Alive: timeout=75, max=996 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 x-compute-request-id: req-0e72682f-99c9-43bc-a98b-83bf0d270fc0 x-openstack-request-id: req-0e72682f-99c9-43bc-a98b-83bf0d270fc0 365s DEBUG (session:580) RESP BODY: {"flavor": {"id": "102d0b57-e8d2-46c6-9be4-f452119a0280", "name": "autopkgtest-ppc64el", "ram": 4096, "disk": 20, "swap": 0, "OS-FLV-EXT-DATA:ephemeral": 0, "OS-FLV-DISABLED:disabled": false, "vcpus": 2, "os-flavor-access:is_public": false, "rxtx_factor": 1.0, "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/102d0b57-e8d2-46c6-9be4-f452119a0280"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/102d0b57-e8d2-46c6-9be4-f452119a0280"}], "description": null, "extra_specs": {"aggregate_instance_extra_specs:commit": "builder-ppc64el", "hw_rng:allowed": "True"}}} 365s DEBUG (session:936) GET call to compute for https://nova.ps6.canonical.com:8774/v2.1/flavors/102d0b57-e8d2-46c6-9be4-f452119a0280 used request id req-0e72682f-99c9-43bc-a98b-83bf0d270fc0 365s DEBUG (session:517) REQ: curl -g -i -X POST https://nova.ps6.canonical.com:8774/v2.1/servers -H "Accept: application/json" -H "Content-Type: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}0aa5c2049931588f662ea29a24a4c2befd077a5d80b30e932165c5339227a44b" -H "X-OpenStack-Nova-API-Version: 2.87" -d '{"server": {"name": "adt-plucky-ppc64el-exchange-calendars-20241202-152052-juju-7f2275-prod-proposed-migration-environment-15-e41a5367-210b-457f-801f-6923e2dfddb5", "imageRef": "1217a33d-4450-41fa-8048-44455666bd68", "flavorRef": "102d0b57-e8d2-46c6-9be4-f452119a0280", "user_data": "I2Nsb3VkLWNvbmZpZwpob3N0bmFtZTogYXV0b3BrZ3Rlc3QKZnFkbjogYXV0b3BrZ3Rlc3QubG9jYWwKbWFuYWdlX2V0Y19ob3N0czogdHJ1ZQphcHRfdXBkYXRlOiB0cnVlCmFwdF91cGdyYWRlOiBmYWxzZQphcHRfbWlycm9yOiBodHRwOi8vZnRwbWFzdGVyLmludGVybmFsL3VidW50dS8KCnJ1bmNtZDoKIC0gZWNobyAnQWNxdWlyZTo6TGFuZ3VhZ2VzICJub25lIjsnID4gL2V0Yy9hcHQvYXB0LmNvbmYuZC85MG5vbGFuZ3VhZ2VzCiAtIGVjaG8gJ2ZvcmNlLXVuc2FmZS1pbycgPiAvZXRjL2Rwa2cvZHBrZy5jZmcuZC9hdXRvcGtndGVzdAogLSBwcmludGYgJ1xuVEVSTT1saW51eFxuJ2h0dHBfcHJveHk9aHR0cDovL3NxdWlkLmludGVybmFsOjMxMjgnXG4naHR0cHNfcHJveHk9aHR0cDovL3NxdWlkLmludGVybmFsOjMxMjgnXG4nbm9fcHJveHk9MTI3LjAuMC4xLDEyNy4wLjEuMSxsb2dpbi51YnVudHUuY29tLGxvY2FsaG9zdCxsb2NhbGRvbWFpbixub3ZhbG9jYWwsaW50ZXJuYWwsYXJjaGl2ZS51YnVudHUuY29tLHBvcnRzLnVidW50dS5jb20sc2VjdXJpdHkudWJ1bnR1LmNvbSxkZGVicy51YnVudHUuY29tLGNoYW5nZWxvZ3MudWJ1bnR1LmNvbSxrZXlzZXJ2ZXIudWJ1bnR1LmNvbSxsYXVuY2hwYWRsaWJyYXJpYW4ubmV0LGxhdW5jaHBhZGNvbnRlbnQubmV0LGxhdW5jaHBhZC5uZXQsMTAuMjQuMC4wLzI0LGtleXN0b25lLnBzNS5jYW5vbmljYWwuY29tLG9iamVjdHN0b3JhZ2UucHJvZHN0YWNrNS5jYW5vbmljYWwuY29tJ1xuJyA+PiAvZXRjL2Vudmlyb25tZW50CiAtIHNlZCAtaSAtciAnL14xMjcuMC4xLjEvIHMvYXV0b3BrZ3Rlc3QtW14gXStcLi9hdXRvcGtndGVzdFwuLycgL2V0Yy9ob3N0cwo=", "key_name": "testbed-juju-7f2275-prod-proposed-migration-environment-15", "min_count": 1, "max_count": 1, "security_groups": [{"name": "autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-ppc64el-9.secgroup"}], "networks": [{"uuid": "3083d638-5564-4f5c-97ef-09f045123d20"}]}}' 365s DEBUG (connectionpool:429) https://nova.ps6.canonical.com:8774 "POST /v2.1/servers HTTP/1.1" 202 478 365s DEBUG (session:548) RESP: [202] Connection: Keep-Alive Content-Length: 478 Content-Type: application/json Date: Mon, 02 Dec 2024 15:37:33 GMT Keep-Alive: timeout=75, max=995 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 location: https://nova.ps6.canonical.com:8774/v2.1/servers/879527d3-bc84-4e24-bc61-21c84d9c4361 x-compute-request-id: req-40802336-704f-4bcf-95bc-c3c94adf0d5e x-openstack-request-id: req-40802336-704f-4bcf-95bc-c3c94adf0d5e 365s DEBUG (session:580) RESP BODY: {"server": {"id": "879527d3-bc84-4e24-bc61-21c84d9c4361", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/servers/879527d3-bc84-4e24-bc61-21c84d9c4361"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/servers/879527d3-bc84-4e24-bc61-21c84d9c4361"}], "OS-DCF:diskConfig": "MANUAL", "security_groups": [{"name": "autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-ppc64el-9.secgroup"}], "adminPass": "jnFKWXu8gNJ9"}} 365s DEBUG (session:936) POST call to compute for https://nova.ps6.canonical.com:8774/v2.1/servers used request id req-40802336-704f-4bcf-95bc-c3c94adf0d5e 365s DEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps6.canonical.com:8774/v2.1/servers/879527d3-bc84-4e24-bc61-21c84d9c4361 -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}0aa5c2049931588f662ea29a24a4c2befd077a5d80b30e932165c5339227a44b" -H "X-OpenStack-Nova-API-Version: 2.87" 365s DEBUG (connectionpool:429) https://nova.ps6.canonical.com:8774 "GET /v2.1/servers/879527d3-bc84-4e24-bc61-21c84d9c4361 HTTP/1.1" 200 3210 365s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 3210 Content-Type: application/json Date: Mon, 02 Dec 2024 15:37:34 GMT Keep-Alive: timeout=75, max=994 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 x-compute-request-id: req-484a6f71-76ff-4fb7-947c-f103e12ecb29 x-openstack-request-id: req-484a6f71-76ff-4fb7-947c-f103e12ecb29 365s DEBUG (session:580) RESP BODY: {"server": {"id": "879527d3-bc84-4e24-bc61-21c84d9c4361", "name": "adt-plucky-ppc64el-exchange-calendars-20241202-152052-juju-7f2275-prod-proposed-migration-environment-15-e41a5367-210b-457f-801f-6923e2dfddb5", "status": "BUILD", "tenant_id": "623df63b80274c21bc79a0c35e68d615", "user_id": "c871debdeffd4cb8b69ce618fc4aa361", "metadata": {}, "hostId": "", "image": {"id": "1217a33d-4450-41fa-8048-44455666bd68", "links": [{"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/images/1217a33d-4450-41fa-8048-44455666bd68"}]}, "flavor": {"vcpus": 2, "ram": 4096, "disk": 20, "ephemeral": 0, "swap": 0, "original_name": "autopkgtest-ppc64el", "extra_specs": {"aggregate_instance_extra_specs:commit": "builder-ppc64el", "hw_rng:allowed": "True"}}, "created": "2024-12-02T15:37:34Z", "updated": "2024-12-02T15:37:34Z", "addresses": {}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/servers/879527d3-bc84-4e24-bc61-21c84d9c4361"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/servers/879527d3-bc84-4e24-bc61-21c84d9c4361"}], "OS-DCF:diskConfig": "MANUAL", "progress": 0, "OS-EXT-AZ:availability_zone": "", "config_drive": "", "key_name": "testbed-juju-7f2275-prod-proposed-migration-environment-15", "OS-SRV-USG:launched_at": null, "OS-SRV-USG:terminated_at": null, "OS-EXT-SRV-ATTR:host": null, "OS-EXT-SRV-ATTR:instance_name": "", "OS-EXT-SRV-ATTR:hypervisor_hostname": null, "OS-EXT-SRV-ATTR:reservation_id": "r-at4t4weu", "OS-EXT-SRV-ATTR:launch_index": 0, "OS-EXT-SRV-ATTR:hostname": "adt-plucky-ppc64el-exchange-calendars-20241202-152052-juju-7f22", "OS-EXT-SRV-ATTR:kernel_id": "", "OS-EXT-SRV-ATTR:ramdisk_id": "", "OS-EXT-SRV-ATTR:root_device_name": null, "OS-EXT-SRV-ATTR:user_data": "I2Nsb3VkLWNvbmZpZwpob3N0bmFtZTogYXV0b3BrZ3Rlc3QKZnFkbjogYXV0b3BrZ3Rlc3QubG9jYWwKbWFuYWdlX2V0Y19ob3N0czogdHJ1ZQphcHRfdXBkYXRlOiB0cnVlCmFwdF91cGdyYWRlOiBmYWxzZQphcHRfbWlycm9yOiBodHRwOi8vZnRwbWFzdGVyLmludGVybmFsL3VidW50dS8KCnJ1bmNtZDoKIC0gZWNobyAnQWNxdWlyZTo6TGFuZ3VhZ2VzICJub25lIjsnID4gL2V0Yy9hcHQvYXB0LmNvbmYuZC85MG5vbGFuZ3VhZ2VzCiAtIGVjaG8gJ2ZvcmNlLXVuc2FmZS1pbycgPiAvZXRjL2Rwa2cvZHBrZy5jZmcuZC9hdXRvcGtndGVzdAogLSBwcmludGYgJ1xuVEVSTT1saW51eFxuJ2h0dHBfcHJveHk9aHR0cDovL3NxdWlkLmludGVybmFsOjMxMjgnXG4naHR0cHNfcHJveHk9aHR0cDovL3NxdWlkLmludGVybmFsOjMxMjgnXG4nbm9fcHJveHk9MTI3LjAuMC4xLDEyNy4wLjEuMSxsb2dpbi51YnVudHUuY29tLGxvY2FsaG9zdCxsb2NhbGRvbWFpbixub3ZhbG9jYWwsaW50ZXJuYWwsYXJjaGl2ZS51YnVudHUuY29tLHBvcnRzLnVidW50dS5jb20sc2VjdXJpdHkudWJ1bnR1LmNvbSxkZGVicy51YnVudHUuY29tLGNoYW5nZWxvZ3MudWJ1bnR1LmNvbSxrZXlzZXJ2ZXIudWJ1bnR1LmNvbSxsYXVuY2hwYWRsaWJyYXJpYW4ubmV0LGxhdW5jaHBhZGNvbnRlbnQubmV0LGxhdW5jaHBhZC5uZXQsMTAuMjQuMC4wLzI0LGtleXN0b25lLnBzNS5jYW5vbmljYWwuY29tLG9iamVjdHN0b3JhZ2UucHJvZHN0YWNrNS5jYW5vbmljYWwuY29tJ1xuJyA+PiAvZXRjL2Vudmlyb25tZW50CiAtIHNlZCAtaSAtciAnL14xMjcuMC4xLjEvIHMvYXV0b3BrZ3Rlc3QtW14gXStcLi9hdXRvcGtndGVzdFwuLycgL2V0Yy9ob3N0cwo=", "OS-EXT-STS:task_state": "scheduling", "OS-EXT-STS:vm_state": "building", "OS-EXT-STS:power_state": 0, "os-extended-volumes:volumes_attached": [], "locked": false, "locked_reason": null, "description": null, "tags": [], "trusted_image_certificates": null, "server_groups": []}} 365s DEBUG (session:936) GET call to compute for https://nova.ps6.canonical.com:8774/v2.1/servers/879527d3-bc84-4e24-bc61-21c84d9c4361 used request id req-484a6f71-76ff-4fb7-947c-f103e12ecb29 365s DEBUG (session:517) REQ: curl -g -i -X GET https://glance.ps6.canonical.com:9292/v2/images/1217a33d-4450-41fa-8048-44455666bd68 -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}0aa5c2049931588f662ea29a24a4c2befd077a5d80b30e932165c5339227a44b" -H "X-OpenStack-Nova-API-Version: 2.87" 365s DEBUG (connectionpool:429) https://glance.ps6.canonical.com:9292 "GET /v2/images/1217a33d-4450-41fa-8048-44455666bd68 HTTP/1.1" 200 2294 365s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 2294 Content-Type: application/json Date: Mon, 02 Dec 2024 15:37:34 GMT Keep-Alive: timeout=75, max=999 Server: Apache/2.4.52 (Ubuntu) X-Openstack-Request-Id: req-455bcb2f-6600-4a03-97e4-190ba9778dea 365s DEBUG (session:580) RESP BODY: {"architecture": "ppc64le", "base_image_ref": "fe0db2b7-58a0-4fc8-80f2-2de75285f410", "boot_roles": "member,load-balancer_member,reader", "content_id": "auto.sync", "hw_cdrom_bus": "scsi", "hw_disk_bus": "virtio", "hw_machine_type": "pseries", "hw_video_model": "vga", "hw_vif_model": "virtio", "image_location": "snapshot", "image_state": "available", "image_type": "snapshot", "instance_uuid": "36e1ffd8-3a3d-438c-8f19-e65d7e3f1f1b", "item_name": "disk1.img", "os_distro": "ubuntu", "os_version": "25.04", "owner_id": "623df63b80274c21bc79a0c35e68d615", "owner_project_name": "prod-proposed-migration-ppc64el_project", "owner_user_name": "prod-proposed-migration-ppc64el", "product_name": "com.ubuntu.cloud.daily:server:25.04:ppc64el", "simplestreams_metadata": "{\"aliases\": \"25.04,p,plucky,devel\", \"arch\": \"ppc64el\", \"ftype\": \"disk1.img\", \"label\": \"daily\", \"md5\": \"868c4a485be864f509a834d2ceda4d5a\", \"os\": \"ubuntu\", \"pubname\": \"ubuntu-plucky-daily-ppc64el-server-20241122\", \"release\": \"plucky\", \"release_codename\": \"P", "source_content_id": "com.ubuntu.cloud:daily:download", "user_id": "c871debdeffd4cb8b69ce618fc4aa361", "version_name": "20241122", "name": "adt/ubuntu-plucky-ppc64el-server-20241202.img", "disk_format": "qcow2", "container_format": "bare", "visibility": "private", "size": 2717319168, "virtual_size": 21474836480, "status": "active", "checksum": "d1b8d99cc8e28bcc420af181f64ba7f2", "protected": false, "min_ram": 0, "min_disk": 20, "owner": "623df63b80274c21bc79a0c35e68d615", "os_hidden": false, "os_hash_algo": "sha512", "os_hash_value": "fe683e7ceaa86adf5dbc0a66a7ddd60ad3ac1fda141f2ae7bb4706a4e4f27f67a4d0e6cac118774d829666a2df86fa0b5bd323a672f4c766d7fbae5acff474db", "id": "1217a33d-4450-41fa-8048-44455666bd68", "created_at": "2024-12-02T02:08:01Z", "updated_at": "2024-12-02T02:08:35Z", "locations": [{"url": "rbd://eea9d068-c18c-11ed-8dc0-013aacb71b80/glance/1217a33d-4450-41fa-8048-44455666bd68/snap", "metadata": {"store": "ceph"}}], "direct_url": "rbd://eea9d068-c18c-11ed-8dc0-013aacb71b80/glance/1217a33d-4450-41fa-8048-44455666bd68/snap", "tags": [], "self": "/v2/images/1217a33d-4450-41fa-8048-44455666bd68", "file": "/v2/images/1217a33d-4450-41fa-8048-44455666bd68/file", "schema": "/v2/schemas/image", "stores": "ceph"} 365s DEBUG (session:936) GET call to image for https://glance.ps6.canonical.com:9292/v2/images/1217a33d-4450-41fa-8048-44455666bd68 used request id req-455bcb2f-6600-4a03-97e4-190ba9778dea 365s +--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ 365s | Property | Value | 365s +--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ 365s | OS-DCF:diskConfig | MANUAL | 365s | OS-EXT-AZ:availability_zone | | 365s | OS-EXT-SRV-ATTR:host | - | 365s | OS-EXT-SRV-ATTR:hostname | adt-plucky-ppc64el-exchange-calendars-20241202-152052-juju-7f22 | 365s | OS-EXT-SRV-ATTR:hypervisor_hostname | - | 365s | OS-EXT-SRV-ATTR:instance_name | | 365s | OS-EXT-SRV-ATTR:kernel_id | | 365s | OS-EXT-SRV-ATTR:launch_index | 0 | 365s | OS-EXT-SRV-ATTR:ramdisk_id | | 365s | OS-EXT-SRV-ATTR:reservation_id | r-at4t4weu | 365s | OS-EXT-SRV-ATTR:root_device_name | - | 365s | OS-EXT-STS:power_state | 0 | 365s | OS-EXT-STS:task_state | scheduling | 365s | OS-EXT-STS:vm_state | building | 365s | OS-SRV-USG:launched_at | - | 365s | OS-SRV-USG:terminated_at | - | 365s | accessIPv4 | | 365s | accessIPv6 | | 365s | adminPass | jnFKWXu8gNJ9 | 365s | config_drive | | 365s | created | 2024-12-02T15:37:34Z | 365s | description | - | 365s | flavor:disk | 20 | 365s | flavor:ephemeral | 0 | 365s | flavor:extra_specs | {"aggregate_instance_extra_specs:commit": "builder-ppc64el", "hw_rng:allowed": "True"} | 365s | flavor:original_name | autopkgtest-ppc64el | 365s | flavor:ram | 4096 | 365s | flavor:swap | 0 | 365s | flavor:vcpus | 2 | 365s | hostId | | 365s | id | 879527d3-bc84-4e24-bc61-21c84d9c4361 | 365s | image | adt/ubuntu-plucky-ppc64el-server-20241202.img (1217a33d-4450-41fa-8048-44455666bd68) | 365s | key_name | testbed-juju-7f2275-prod-proposed-migration-environment-15 | 365s | locked | False | 365s | locked_reason | - | 365s | metadata | {} | 365s | name | adt-plucky-ppc64el-exchange-calendars-20241202-152052-juju-7f2275-prod-proposed-migration-environment-15-e41a5367-210b-457f-801f-6923e2dfddb5 | 365s | os-extended-volumes:volumes_attached | [] | 365s | progress | 0 | 365s | security_groups | autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-ppc64el-9.secgroup | 365s | server_groups | [] | 365s | status | BUILD | 365s | tags | [] | 365s | tenant_id | 623df63b80274c21bc79a0c35e68d615 | 365s | trusted_image_certificates | - | 365s | updated | 2024-12-02T15:37:34Z | 365s | user_id | c871debdeffd4cb8b69ce618fc4aa361 | 365s +--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+DEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps6.canonical.com:8774/v2.1/servers/879527d3-bc84-4e24-bc61-21c84d9c4361 -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}0aa5c2049931588f662ea29a24a4c2befd077a5d80b30e932165c5339227a44b" -H "X-OpenStack-Nova-API-Version: 2.87" 365s DEBUG (connectionpool:429) https://nova.ps6.canonical.com:8774 "GET /v2.1/servers/879527d3-bc84-4e24-bc61-21c84d9c4361 HTTP/1.1" 200 3210 365s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 3210 Content-Type: application/json Date: Mon, 02 Dec 2024 15:37:34 GMT Keep-Alive: timeout=75, max=993 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 x-compute-request-id: req-65c87524-831f-488b-9c02-3967b2daf999 x-openstack-request-id: req-65c87524-831f-488b-9c02-3967b2daf999 365s DEBUG (session:580) RESP BODY: {"server": {"id": "879527d3-bc84-4e24-bc61-21c84d9c4361", "name": "adt-plucky-ppc64el-exchange-calendars-20241202-152052-juju-7f2275-prod-proposed-migration-environment-15-e41a5367-210b-457f-801f-6923e2dfddb5", "status": "BUILD", "tenant_id": "623df63b80274c21bc79a0c35e68d615", "user_id": "c871debdeffd4cb8b69ce618fc4aa361", "metadata": {}, "hostId": "", "image": {"id": "1217a33d-4450-41fa-8048-44455666bd68", "links": [{"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/images/1217a33d-4450-41fa-8048-44455666bd68"}]}, "flavor": {"vcpus": 2, "ram": 4096, "disk": 20, "ephemeral": 0, "swap": 0, "original_name": "autopkgtest-ppc64el", "extra_specs": {"aggregate_instance_extra_specs:commit": "builder-ppc64el", "hw_rng:allowed": "True"}}, "created": "2024-12-02T15:37:34Z", "updated": "2024-12-02T15:37:34Z", "addresses": {}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/servers/879527d3-bc84-4e24-bc61-21c84d9c4361"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/servers/879527d3-bc84-4e24-bc61-21c84d9c4361"}], "OS-DCF:diskConfig": "MANUAL", "progress": 0, "OS-EXT-AZ:availability_zone": "", "config_drive": "", "key_name": "testbed-juju-7f2275-prod-proposed-migration-environment-15", "OS-SRV-USG:launched_at": null, "OS-SRV-USG:terminated_at": null, "OS-EXT-SRV-ATTR:host": null, "OS-EXT-SRV-ATTR:instance_name": "", "OS-EXT-SRV-ATTR:hypervisor_hostname": null, "OS-EXT-SRV-ATTR:reservation_id": "r-at4t4weu", "OS-EXT-SRV-ATTR:launch_index": 0, "OS-EXT-SRV-ATTR:hostname": "adt-plucky-ppc64el-exchange-calendars-20241202-152052-juju-7f22", "OS-EXT-SRV-ATTR:kernel_id": "", "OS-EXT-SRV-ATTR:ramdisk_id": "", "OS-EXT-SRV-ATTR:root_device_name": null, "OS-EXT-SRV-ATTR:user_data": "I2Nsb3VkLWNvbmZpZwpob3N0bmFtZTogYXV0b3BrZ3Rlc3QKZnFkbjogYXV0b3BrZ3Rlc3QubG9jYWwKbWFuYWdlX2V0Y19ob3N0czogdHJ1ZQphcHRfdXBkYXRlOiB0cnVlCmFwdF91cGdyYWRlOiBmYWxzZQphcHRfbWlycm9yOiBodHRwOi8vZnRwbWFzdGVyLmludGVybmFsL3VidW50dS8KCnJ1bmNtZDoKIC0gZWNobyAnQWNxdWlyZTo6TGFuZ3VhZ2VzICJub25lIjsnID4gL2V0Yy9hcHQvYXB0LmNvbmYuZC85MG5vbGFuZ3VhZ2VzCiAtIGVjaG8gJ2ZvcmNlLXVuc2FmZS1pbycgPiAvZXRjL2Rwa2cvZHBrZy5jZmcuZC9hdXRvcGtndGVzdAogLSBwcmludGYgJ1xuVEVSTT1saW51eFxuJ2h0dHBfcHJveHk9aHR0cDovL3NxdWlkLmludGVybmFsOjMxMjgnXG4naHR0cHNfcHJveHk9aHR0cDovL3NxdWlkLmludGVybmFsOjMxMjgnXG4nbm9fcHJveHk9MTI3LjAuMC4xLDEyNy4wLjEuMSxsb2dpbi51YnVudHUuY29tLGxvY2FsaG9zdCxsb2NhbGRvbWFpbixub3ZhbG9jYWwsaW50ZXJuYWwsYXJjaGl2ZS51YnVudHUuY29tLHBvcnRzLnVidW50dS5jb20sc2VjdXJpdHkudWJ1bnR1LmNvbSxkZGVicy51YnVudHUuY29tLGNoYW5nZWxvZ3MudWJ1bnR1LmNvbSxrZXlzZXJ2ZXIudWJ1bnR1LmNvbSxsYXVuY2hwYWRsaWJyYXJpYW4ubmV0LGxhdW5jaHBhZGNvbnRlbnQubmV0LGxhdW5jaHBhZC5uZXQsMTAuMjQuMC4wLzI0LGtleXN0b25lLnBzNS5jYW5vbmljYWwuY29tLG9iamVjdHN0b3JhZ2UucHJvZHN0YWNrNS5jYW5vbmljYWwuY29tJ1xuJyA+PiAvZXRjL2Vudmlyb25tZW50CiAtIHNlZCAtaSAtciAnL14xMjcuMC4xLjEvIHMvYXV0b3BrZ3Rlc3QtW14gXStcLi9hdXRvcGtndGVzdFwuLycgL2V0Yy9ob3N0cwo=", "OS-EXT-STS:task_state": "scheduling", "OS-EXT-STS:vm_state": "building", "OS-EXT-STS:power_state": 0, "os-extended-volumes:volumes_attached": [], "locked": false, "locked_reason": null, "description": null, "tags": [], "trusted_image_certificates": null, "server_groups": []}} 365s DEBUG (session:936) GET call to compute for https://nova.ps6.canonical.com:8774/v2.1/servers/879527d3-bc84-4e24-bc61-21c84d9c4361 used request id req-65c87524-831f-488b-9c02-3967b2daf999 365s 365s 365s Server building... 0% completeDEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps6.canonical.com:8774/v2.1/servers/879527d3-bc84-4e24-bc61-21c84d9c4361 -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}0aa5c2049931588f662ea29a24a4c2befd077a5d80b30e932165c5339227a44b" -H "X-OpenStack-Nova-API-Version: 2.87" 365s DEBUG (connectionpool:429) https://nova.ps6.canonical.com:8774 "GET /v2.1/servers/879527d3-bc84-4e24-bc61-21c84d9c4361 HTTP/1.1" 200 3337 365s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 3337 Content-Type: application/json Date: Mon, 02 Dec 2024 15:37:39 GMT Keep-Alive: timeout=75, max=992 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 x-compute-request-id: req-8ce1c4e1-1ac0-43e6-91dc-a90519ac9950 x-openstack-request-id: req-8ce1c4e1-1ac0-43e6-91dc-a90519ac9950 365s DEBUG (session:580) RESP BODY: {"server": {"id": "879527d3-bc84-4e24-bc61-21c84d9c4361", "name": "adt-plucky-ppc64el-exchange-calendars-20241202-152052-juju-7f2275-prod-proposed-migration-environment-15-e41a5367-210b-457f-801f-6923e2dfddb5", "status": "ERROR", "tenant_id": "623df63b80274c21bc79a0c35e68d615", "user_id": "c871debdeffd4cb8b69ce618fc4aa361", "metadata": {}, "hostId": "", "image": {"id": "1217a33d-4450-41fa-8048-44455666bd68", "links": [{"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/images/1217a33d-4450-41fa-8048-44455666bd68"}]}, "flavor": {"vcpus": 2, "ram": 4096, "disk": 20, "ephemeral": 0, "swap": 0, "original_name": "autopkgtest-ppc64el", "extra_specs": {"aggregate_instance_extra_specs:commit": "builder-ppc64el", "hw_rng:allowed": "True"}}, "created": "2024-12-02T15:37:34Z", "updated": "2024-12-02T15:37:35Z", "addresses": {}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/servers/879527d3-bc84-4e24-bc61-21c84d9c4361"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/servers/879527d3-bc84-4e24-bc61-21c84d9c4361"}], "OS-DCF:diskConfig": "MANUAL", "fault": {"code": 500, "created": "2024-12-02T15:37:35Z", "message": "No valid host was found. There are not enough hosts available."}, "OS-EXT-AZ:availability_zone": "", "config_drive": "", "key_name": "testbed-juju-7f2275-prod-proposed-migration-environment-15", "OS-SRV-USG:launched_at": null, "OS-SRV-USG:terminated_at": null, "OS-EXT-SRV-ATTR:host": null, "OS-EXT-SRV-ATTR:instance_name": "instance-0006f0b2", "OS-EXT-SRV-ATTR:hypervisor_hostname": null, "OS-EXT-SRV-ATTR:reservation_id": "r-at4t4weu", "OS-EXT-SRV-ATTR:launch_index": 0, "OS-EXT-SRV-ATTR:hostname": "adt-plucky-ppc64el-exchange-calendars-20241202-152052-juju-7f22", "OS-EXT-SRV-ATTR:kernel_id": "", "OS-EXT-SRV-ATTR:ramdisk_id": "", "OS-EXT-SRV-ATTR:root_device_name": null, "OS-EXT-SRV-ATTR:user_data": "I2Nsb3VkLWNvbmZpZwpob3N0bmFtZTogYXV0b3BrZ3Rlc3QKZnFkbjogYXV0b3BrZ3Rlc3QubG9jYWwKbWFuYWdlX2V0Y19ob3N0czogdHJ1ZQphcHRfdXBkYXRlOiB0cnVlCmFwdF91cGdyYWRlOiBmYWxzZQphcHRfbWlycm9yOiBodHRwOi8vZnRwbWFzdGVyLmludGVybmFsL3VidW50dS8KCnJ1bmNtZDoKIC0gZWNobyAnQWNxdWlyZTo6TGFuZ3VhZ2VzICJub25lIjsnID4gL2V0Yy9hcHQvYXB0LmNvbmYuZC85MG5vbGFuZ3VhZ2VzCiAtIGVjaG8gJ2ZvcmNlLXVuc2FmZS1pbycgPiAvZXRjL2Rwa2cvZHBrZy5jZmcuZC9hdXRvcGtndGVzdAogLSBwcmludGYgJ1xuVEVSTT1saW51eFxuJ2h0dHBfcHJveHk9aHR0cDovL3NxdWlkLmludGVybmFsOjMxMjgnXG4naHR0cHNfcHJveHk9aHR0cDovL3NxdWlkLmludGVybmFsOjMxMjgnXG4nbm9fcHJveHk9MTI3LjAuMC4xLDEyNy4wLjEuMSxsb2dpbi51YnVudHUuY29tLGxvY2FsaG9zdCxsb2NhbGRvbWFpbixub3ZhbG9jYWwsaW50ZXJuYWwsYXJjaGl2ZS51YnVudHUuY29tLHBvcnRzLnVidW50dS5jb20sc2VjdXJpdHkudWJ1bnR1LmNvbSxkZGVicy51YnVudHUuY29tLGNoYW5nZWxvZ3MudWJ1bnR1LmNvbSxrZXlzZXJ2ZXIudWJ1bnR1LmNvbSxsYXVuY2hwYWRsaWJyYXJpYW4ubmV0LGxhdW5jaHBhZGNvbnRlbnQubmV0LGxhdW5jaHBhZC5uZXQsMTAuMjQuMC4wLzI0LGtleXN0b25lLnBzNS5jYW5vbmljYWwuY29tLG9iamVjdHN0b3JhZ2UucHJvZHN0YWNrNS5jYW5vbmljYWwuY29tJ1xuJyA+PiAvZXRjL2Vudmlyb25tZW50CiAtIHNlZCAtaSAtciAnL14xMjcuMC4xLjEvIHMvYXV0b3BrZ3Rlc3QtW14gXStcLi9hdXRvcGtndGVzdFwuLycgL2V0Yy9ob3N0cwo=", "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "error", "OS-EXT-STS:power_state": 0, "os-extended-volumes:volumes_attached": [], "locked": false, "locked_reason": null, "description": null, "tags": [], "trusted_image_certificates": null, "server_groups": []}} 365s DEBUG (session:936) GET call to compute for https://nova.ps6.canonical.com:8774/v2.1/servers/879527d3-bc84-4e24-bc61-21c84d9c4361 used request id req-8ce1c4e1-1ac0-43e6-91dc-a90519ac9950 365s DEBUG (shell:822) 365s Traceback (most recent call last): 365s File "/usr/lib/python3/dist-packages/novaclient/shell.py", line 820, in main 365s OpenStackComputeShell().main(argv) 365s File "/usr/lib/python3/dist-packages/novaclient/shell.py", line 742, in main 365s args.func(self.cs, args) 365s File "/usr/lib/python3/dist-packages/novaclient/v2/shell.py", line 980, in do_boot 365s _poll_for_status(cs.servers.get, server.id, 'building', ['active']) 365s File "/usr/lib/python3/dist-packages/novaclient/v2/shell.py", line 1019, in _poll_for_status 365s raise exceptions.ResourceInErrorState(obj) 365s novaclient.exceptions.ResourceInErrorState: 365s ERROR (ResourceInErrorState): 365s 365s Error building server 368s autopkgtest [15:43:28]: testbed dpkg architecture: ppc64el 368s autopkgtest [15:43:28]: testbed apt version: 2.9.14ubuntu1 368s autopkgtest [15:43:28]: @@@@@@@@@@@@@@@@@@@@ test bed setup 368s autopkgtest [15:43:28]: testbed release detected to be: None 369s autopkgtest [15:43:29]: updating testbed package index (apt update) 369s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 370s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 370s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 370s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 370s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.1 kB] 370s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [776 kB] 370s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [68.7 kB] 370s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 370s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el Packages [96.0 kB] 370s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted ppc64el Packages [928 B] 370s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe ppc64el Packages [654 kB] 370s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse ppc64el Packages [11.0 kB] 370s Fetched 1705 kB in 1s (1783 kB/s) 371s Reading package lists... 372s Reading package lists... 372s Building dependency tree... 372s Reading state information... 372s Calculating upgrade... 372s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 372s Reading package lists... 372s Building dependency tree... 372s Reading state information... 372s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 372s autopkgtest [15:43:32]: upgrading testbed (apt dist-upgrade and autopurge) 372s Reading package lists... 373s Building dependency tree... 373s Reading state information... 373s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 373s Starting 2 pkgProblemResolver with broken count: 0 373s Done 373s Entering ResolveByKeep 373s 373s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 374s Reading package lists... 374s Building dependency tree... 374s Reading state information... 374s Starting pkgProblemResolver with broken count: 0 374s Starting 2 pkgProblemResolver with broken count: 0 374s Done 374s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 376s autopkgtest [15:43:36]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP Mon Sep 16 13:49:23 UTC 2024 377s autopkgtest [15:43:37]: @@@@@@@@@@@@@@@@@@@@ apt-source exchange-calendars 378s Get:1 http://ftpmaster.internal/ubuntu plucky/universe exchange-calendars 4.6-1 (dsc) [2480 B] 378s Get:2 http://ftpmaster.internal/ubuntu plucky/universe exchange-calendars 4.6-1 (tar) [3765 kB] 378s Get:3 http://ftpmaster.internal/ubuntu plucky/universe exchange-calendars 4.6-1 (diff) [3172 B] 379s gpgv: Signature made Tue Nov 26 12:23:16 2024 UTC 379s gpgv: using RSA key FB8ACFA78C726089C38AD0269605A1098C63B92A 379s gpgv: Can't check signature: No public key 379s dpkg-source: warning: cannot verify inline signature for ./exchange-calendars_4.6-1.dsc: no acceptable signature found 379s autopkgtest [15:43:39]: testing package exchange-calendars version 4.6-1 379s autopkgtest [15:43:39]: build not needed 381s autopkgtest [15:43:41]: test run-tests: preparing testbed 381s Reading package lists... 381s Building dependency tree... 381s Reading state information... 381s Starting pkgProblemResolver with broken count: 0 381s Starting 2 pkgProblemResolver with broken count: 0 381s Done 382s The following NEW packages will be installed: 382s architecture-properties libblas3 libgfortran5 liblapack3 python3-all 382s python3-dateutil python3-exchange-calendars python3-hypothesis 382s python3-iniconfig python3-korean-lunar-calendar python3-numpy 382s python3-packaging python3-pandas python3-pandas-lib python3-pluggy 382s python3-pyluach python3-pytest python3-sortedcontainers python3-toolz 382s python3-tz 382s 0 upgraded, 20 newly installed, 0 to remove and 0 not upgraded. 382s Need to get 20.2 MB of archives. 382s After this operation, 128 MB of additional disk space will be used. 382s Get:1 http://ftpmaster.internal/ubuntu plucky/universe ppc64el architecture-properties ppc64el 0.2.3 [2064 B] 382s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el libblas3 ppc64el 3.12.0-4 [222 kB] 382s Get:3 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgfortran5 ppc64el 14.2.0-8ubuntu1 [571 kB] 382s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el liblapack3 ppc64el 3.12.0-4 [2814 kB] 382s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-all ppc64el 3.12.6-0ubuntu1 [888 B] 382s Get:6 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-dateutil all 2.9.0-3 [80.2 kB] 382s Get:7 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-korean-lunar-calendar all 0.3.1-2 [9108 B] 382s Get:8 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-numpy ppc64el 1:1.26.4+ds-11ubuntu1 [5148 kB] 383s Get:9 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-tz all 2024.1-2 [31.4 kB] 383s Get:10 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pandas-lib ppc64el 2.2.3+dfsg-5ubuntu1 [7350 kB] 383s Get:11 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pandas all 2.2.3+dfsg-5ubuntu1 [3112 kB] 383s Get:12 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pyluach all 2.2.0-1 [23.2 kB] 383s Get:13 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-toolz all 1.0.0-1 [44.9 kB] 383s Get:14 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-exchange-calendars all 4.6-1 [152 kB] 383s Get:15 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-sortedcontainers all 2.4.0-2 [27.6 kB] 383s Get:16 http://ftpmaster.internal/ubuntu plucky-proposed/universe ppc64el python3-hypothesis all 6.122.1-1 [330 kB] 383s Get:17 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B] 383s Get:18 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-packaging all 24.2-1 [51.5 kB] 383s Get:19 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pluggy all 1.5.0-1 [21.0 kB] 383s Get:20 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pytest all 8.3.3-1 [251 kB] 383s Fetched 20.2 MB in 2s (12.5 MB/s) 383s Selecting previously unselected package architecture-properties:ppc64el. 384s (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 ... 74178 files and directories currently installed.) 384s Preparing to unpack .../00-architecture-properties_0.2.3_ppc64el.deb ... 384s Unpacking architecture-properties:ppc64el (0.2.3) ... 384s Selecting previously unselected package libblas3:ppc64el. 384s Preparing to unpack .../01-libblas3_3.12.0-4_ppc64el.deb ... 384s Unpacking libblas3:ppc64el (3.12.0-4) ... 384s Selecting previously unselected package libgfortran5:ppc64el. 384s Preparing to unpack .../02-libgfortran5_14.2.0-8ubuntu1_ppc64el.deb ... 384s Unpacking libgfortran5:ppc64el (14.2.0-8ubuntu1) ... 384s Selecting previously unselected package liblapack3:ppc64el. 384s Preparing to unpack .../03-liblapack3_3.12.0-4_ppc64el.deb ... 384s Unpacking liblapack3:ppc64el (3.12.0-4) ... 384s Selecting previously unselected package python3-all. 384s Preparing to unpack .../04-python3-all_3.12.6-0ubuntu1_ppc64el.deb ... 384s Unpacking python3-all (3.12.6-0ubuntu1) ... 384s Selecting previously unselected package python3-dateutil. 384s Preparing to unpack .../05-python3-dateutil_2.9.0-3_all.deb ... 384s Unpacking python3-dateutil (2.9.0-3) ... 384s Selecting previously unselected package python3-korean-lunar-calendar. 384s Preparing to unpack .../06-python3-korean-lunar-calendar_0.3.1-2_all.deb ... 384s Unpacking python3-korean-lunar-calendar (0.3.1-2) ... 384s Selecting previously unselected package python3-numpy. 384s Preparing to unpack .../07-python3-numpy_1%3a1.26.4+ds-11ubuntu1_ppc64el.deb ... 384s Unpacking python3-numpy (1:1.26.4+ds-11ubuntu1) ... 384s Selecting previously unselected package python3-tz. 384s Preparing to unpack .../08-python3-tz_2024.1-2_all.deb ... 384s Unpacking python3-tz (2024.1-2) ... 384s Selecting previously unselected package python3-pandas-lib:ppc64el. 384s Preparing to unpack .../09-python3-pandas-lib_2.2.3+dfsg-5ubuntu1_ppc64el.deb ... 384s Unpacking python3-pandas-lib:ppc64el (2.2.3+dfsg-5ubuntu1) ... 384s Selecting previously unselected package python3-pandas. 384s Preparing to unpack .../10-python3-pandas_2.2.3+dfsg-5ubuntu1_all.deb ... 384s Unpacking python3-pandas (2.2.3+dfsg-5ubuntu1) ... 385s Selecting previously unselected package python3-pyluach. 385s Preparing to unpack .../11-python3-pyluach_2.2.0-1_all.deb ... 385s Unpacking python3-pyluach (2.2.0-1) ... 385s Selecting previously unselected package python3-toolz. 385s Preparing to unpack .../12-python3-toolz_1.0.0-1_all.deb ... 385s Unpacking python3-toolz (1.0.0-1) ... 385s Selecting previously unselected package python3-exchange-calendars. 385s Preparing to unpack .../13-python3-exchange-calendars_4.6-1_all.deb ... 385s Unpacking python3-exchange-calendars (4.6-1) ... 385s Selecting previously unselected package python3-sortedcontainers. 385s Preparing to unpack .../14-python3-sortedcontainers_2.4.0-2_all.deb ... 385s Unpacking python3-sortedcontainers (2.4.0-2) ... 385s Selecting previously unselected package python3-hypothesis. 385s Preparing to unpack .../15-python3-hypothesis_6.122.1-1_all.deb ... 385s Unpacking python3-hypothesis (6.122.1-1) ... 385s Selecting previously unselected package python3-iniconfig. 385s Preparing to unpack .../16-python3-iniconfig_1.1.1-2_all.deb ... 385s Unpacking python3-iniconfig (1.1.1-2) ... 385s Selecting previously unselected package python3-packaging. 385s Preparing to unpack .../17-python3-packaging_24.2-1_all.deb ... 385s Unpacking python3-packaging (24.2-1) ... 385s Selecting previously unselected package python3-pluggy. 385s Preparing to unpack .../18-python3-pluggy_1.5.0-1_all.deb ... 385s Unpacking python3-pluggy (1.5.0-1) ... 385s Selecting previously unselected package python3-pytest. 385s Preparing to unpack .../19-python3-pytest_8.3.3-1_all.deb ... 385s Unpacking python3-pytest (8.3.3-1) ... 385s Setting up python3-iniconfig (1.1.1-2) ... 385s Setting up python3-pyluach (2.2.0-1) ... 385s Setting up architecture-properties:ppc64el (0.2.3) ... 385s Setting up python3-all (3.12.6-0ubuntu1) ... 385s Setting up python3-sortedcontainers (2.4.0-2) ... 385s Setting up python3-tz (2024.1-2) ... 385s Setting up libblas3:ppc64el (3.12.0-4) ... 385s update-alternatives: using /usr/lib/powerpc64le-linux-gnu/blas/libblas.so.3 to provide /usr/lib/powerpc64le-linux-gnu/libblas.so.3 (libblas.so.3-powerpc64le-linux-gnu) in auto mode 385s Setting up python3-korean-lunar-calendar (0.3.1-2) ... 385s Setting up python3-packaging (24.2-1) ... 386s Setting up libgfortran5:ppc64el (14.2.0-8ubuntu1) ... 386s Setting up python3-pluggy (1.5.0-1) ... 386s Setting up python3-toolz (1.0.0-1) ... 386s Setting up python3-dateutil (2.9.0-3) ... 386s Setting up liblapack3:ppc64el (3.12.0-4) ... 386s update-alternatives: using /usr/lib/powerpc64le-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/powerpc64le-linux-gnu/liblapack.so.3 (liblapack.so.3-powerpc64le-linux-gnu) in auto mode 386s Setting up python3-pytest (8.3.3-1) ... 386s Setting up python3-hypothesis (6.122.1-1) ... 387s Setting up python3-numpy (1:1.26.4+ds-11ubuntu1) ... 389s Setting up python3-pandas-lib:ppc64el (2.2.3+dfsg-5ubuntu1) ... 389s Setting up python3-pandas (2.2.3+dfsg-5ubuntu1) ... 394s Setting up python3-exchange-calendars (4.6-1) ... 394s Processing triggers for man-db (2.13.0-1) ... 395s Processing triggers for libc-bin (2.40-1ubuntu3) ... 396s autopkgtest [15:43:56]: test run-tests: [----------------------- 397s ============================= test session starts ============================== 397s platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.12 397s cachedir: .pytest_cache 397s hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase(PosixPath('/tmp/autopkgtest.OstGhU/autopkgtest_tmp/.hypothesis/examples')) 397s rootdir: /tmp/autopkgtest.OstGhU/autopkgtest_tmp 397s plugins: typeguard-4.4.1, hypothesis-6.122.1 399s collecting ... collected 8189 items 399s 399s tests/test_aixk_calendar.py::TestAIXKCalendar::test_testbase_integrity PASSED [ 0%] 399s tests/test_aixk_calendar.py::TestAIXKCalendar::test_base_integrity PASSED [ 0%] 401s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calculated_against_csv PASSED [ 0%] 401s tests/test_aixk_calendar.py::TestAIXKCalendar::test_start_end PASSED [ 0%] 401s tests/test_aixk_calendar.py::TestAIXKCalendar::test_invalid_input PASSED [ 0%] 402s tests/test_aixk_calendar.py::TestAIXKCalendar::test_bound_min PASSED [ 0%] 402s tests/test_aixk_calendar.py::TestAIXKCalendar::test_bound_max PASSED [ 0%] 402s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sanity_check_session_lengths PASSED [ 0%] 402s tests/test_aixk_calendar.py::TestAIXKCalendar::test_adhoc_holidays_specification PASSED [ 0%] 402s tests/test_aixk_calendar.py::TestAIXKCalendar::test_daylight_savings PASSED [ 0%] 402s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions PASSED [ 0%] 402s tests/test_aixk_calendar.py::TestAIXKCalendar::test_opens_closes_break_starts_ends PASSED [ 0%] 402s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[both] PASSED [ 0%] 402s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[both] PASSED [ 0%] 402s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[both] PASSED [ 0%] 402s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[both] PASSED [ 0%] 402s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[both] PASSED [ 0%] 402s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[both] PASSED [ 0%] 402s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[both] PASSED [ 0%] 402s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[both] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[both] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[both] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-next] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-next] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-next] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-next] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[left] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[left] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[left] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[left] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[left] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[left] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[left] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[left] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[left] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[left] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-previous] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-previous] PASSED [ 0%] 403s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-previous] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-next] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-next] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[right] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[right] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[right] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[right] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[right] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[right] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[right] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[right] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[right] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[right] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-none] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-none] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-none] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-none] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-none] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-none] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-none] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-previous] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-next] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[neither] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[neither] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[neither] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[neither] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[neither] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[neither] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[neither] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[neither] PASSED [ 0%] 404s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[neither] PASSED [ 0%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[neither] PASSED [ 0%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[neither] PASSED [ 0%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[neither] PASSED [ 0%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[neither] PASSED [ 0%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[neither] PASSED [ 0%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[neither] PASSED [ 0%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[neither] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[neither] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[neither] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[neither] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[neither] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[right] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[right] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[right] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[right] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[right] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[right] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[right] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[right] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[right] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[right] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[left] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[left] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[left] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[left] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[left] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[left] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[left] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[left] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[left] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[left] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[both] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[both] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[both] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[both] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[both] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[both] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[both] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[both] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[both] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[both] PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_has_break PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_regular_holidays_sample PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_adhoc_holidays_sample PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_holidays_sample PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_late_opens_sample PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_sample PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_sample_time PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_weekdays PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_weekdays_time PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_early_closes_sample PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_early_closes_sample_time PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_late_opens PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_open_close_break_start_end PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_has_break PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_next_prev_session PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_offset PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_session PASSED [ 1%] 405s tests/test_aixk_calendar.py::TestAIXKCalendar::test_date_to_session PASSED [ 1%] 406s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_open_close PASSED [ 1%] 406s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_in_range PASSED [ 1%] 406s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_has_break PASSED [ 1%] 406s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_window PASSED [ 1%] 406s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_distance PASSED [ 1%] 406s tests/test_aixk_calendar.py::TestAIXKCalendar::test_trading_index PASSED [ 1%] 406s tests/test_aixk_calendar.py::TestAIXKCalendar::test_deprecated PASSED [ 1%] 406s tests/test_always_open.py::TestAlwaysOpenCalendar::test_testbase_integrity PASSED [ 1%] 406s tests/test_always_open.py::TestAlwaysOpenCalendar::test_base_integrity PASSED [ 1%] 406s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calculated_against_csv PASSED [ 1%] 406s tests/test_always_open.py::TestAlwaysOpenCalendar::test_start_end PASSED [ 1%] 406s tests/test_always_open.py::TestAlwaysOpenCalendar::test_invalid_input PASSED [ 1%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_bound_min PASSED [ 1%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_bound_max PASSED [ 1%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sanity_check_session_lengths PASSED [ 1%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_adhoc_holidays_specification PASSED [ 1%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_daylight_savings PASSED [ 1%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions PASSED [ 1%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_opens_closes_break_starts_ends PASSED [ 1%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_properties[left] PASSED [ 1%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes[left] PASSED [ 1%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calendar_bounds_properties[left] PASSED [ 1%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minute_methods[left] PASSED [ 1%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minutes[left] PASSED [ 1%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_trading_minute[left] PASSED [ 1%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_break_minute[left] PASSED [ 1%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_on_minute[left] PASSED [ 1%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_at_time[left] PASSED [ 1%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_minute[left] PASSED [ 2%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-next] PASSED [ 2%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-next] PASSED [ 2%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-next] PASSED [ 2%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-next] PASSED [ 2%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_properties[right] PASSED [ 2%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes[right] PASSED [ 2%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calendar_bounds_properties[right] PASSED [ 2%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minute_methods[right] PASSED [ 2%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minutes[right] PASSED [ 2%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_trading_minute[right] PASSED [ 2%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_break_minute[right] PASSED [ 2%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_on_minute[right] PASSED [ 2%] 408s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_at_time[right] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_minute[right] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-previous] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-previous] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-none] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-none] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-none] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-none] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_past_session[right] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_future_session[right] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset[right] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset_by_sessions[right] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_in_range[right] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_window[right] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_distance[right] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_to_sessions[right] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes[right] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes_count[right] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_past_session[left] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_future_session[left] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset[left] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset_by_sessions[left] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_in_range[left] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_window[left] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_distance[left] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_to_sessions[left] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes[left] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes_count[left] PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_has_break PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_regular_holidays_sample PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_adhoc_holidays_sample PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_holidays_sample PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_late_opens_sample PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_sample PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_sample_time PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_weekdays PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_weekdays_time PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_early_closes_sample PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_early_closes_sample_time PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_late_opens PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_open_close_break_start_end PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_has_break PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_next_prev_session PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_offset PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_session PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_date_to_session PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_open_close PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_in_range PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_has_break PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_window PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_distance PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_trading_index PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_deprecated PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_open_every_day PASSED [ 2%] 409s tests/test_always_open.py::TestAlwaysOpenCalendar::test_open_every_minute PASSED [ 2%] 409s tests/test_asex_calendar.py::TestASEXCalendar::test_testbase_integrity PASSED [ 2%] 409s tests/test_asex_calendar.py::TestASEXCalendar::test_base_integrity PASSED [ 2%] 412s tests/test_asex_calendar.py::TestASEXCalendar::test_calculated_against_csv PASSED [ 2%] 412s tests/test_asex_calendar.py::TestASEXCalendar::test_start_end PASSED [ 2%] 412s tests/test_asex_calendar.py::TestASEXCalendar::test_invalid_input PASSED [ 2%] 414s tests/test_asex_calendar.py::TestASEXCalendar::test_bound_min PASSED [ 2%] 415s tests/test_asex_calendar.py::TestASEXCalendar::test_bound_max PASSED [ 2%] 415s tests/test_asex_calendar.py::TestASEXCalendar::test_sanity_check_session_lengths PASSED [ 2%] 415s tests/test_asex_calendar.py::TestASEXCalendar::test_adhoc_holidays_specification PASSED [ 2%] 415s tests/test_asex_calendar.py::TestASEXCalendar::test_daylight_savings PASSED [ 2%] 415s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions PASSED [ 2%] 415s tests/test_asex_calendar.py::TestASEXCalendar::test_opens_closes_break_starts_ends PASSED [ 3%] 415s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[both] PASSED [ 3%] 415s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[both] PASSED [ 3%] 415s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[both] PASSED [ 3%] 415s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[both] PASSED [ 3%] 415s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[both] PASSED [ 3%] 415s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[both] PASSED [ 3%] 415s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[both] PASSED [ 3%] 415s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[both] PASSED [ 3%] 416s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[both] PASSED [ 3%] 417s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[both] PASSED [ 3%] 417s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-next] PASSED [ 3%] 417s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 3%] 417s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-next] PASSED [ 3%] 417s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 3%] 417s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[left] PASSED [ 3%] 417s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[left] PASSED [ 3%] 417s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[left] PASSED [ 3%] 417s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[left] PASSED [ 3%] 417s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[left] PASSED [ 3%] 417s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[left] PASSED [ 3%] 417s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[left] PASSED [ 3%] 417s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[left] PASSED [ 3%] 417s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[left] PASSED [ 3%] 419s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[left] PASSED [ 3%] 419s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-previous] PASSED [ 3%] 419s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 3%] 419s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-previous] PASSED [ 3%] 419s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 3%] 419s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-previous] PASSED [ 3%] 419s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 3%] 419s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-next] PASSED [ 3%] 419s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 3%] 419s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[right] PASSED [ 3%] 419s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[right] PASSED [ 3%] 419s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[right] PASSED [ 3%] 419s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[right] PASSED [ 3%] 419s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[right] PASSED [ 3%] 419s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[right] PASSED [ 3%] 419s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[right] PASSED [ 3%] 419s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[right] PASSED [ 3%] 420s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[right] PASSED [ 3%] 421s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[right] PASSED [ 3%] 421s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-none] PASSED [ 3%] 421s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 3%] 421s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-none] PASSED [ 3%] 421s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 3%] 421s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-none] PASSED [ 3%] 421s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 3%] 421s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-none] PASSED [ 3%] 421s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 3%] 421s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-previous] PASSED [ 3%] 421s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 3%] 421s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-next] PASSED [ 3%] 421s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 3%] 421s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[neither] PASSED [ 3%] 422s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[neither] PASSED [ 3%] 422s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[neither] PASSED [ 3%] 422s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[neither] PASSED [ 3%] 422s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[neither] PASSED [ 3%] 422s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[neither] PASSED [ 3%] 422s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[neither] PASSED [ 3%] 422s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[neither] PASSED [ 3%] 422s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[neither] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[neither] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[neither] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[neither] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[neither] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[neither] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[neither] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[neither] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[neither] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[neither] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[neither] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[right] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[right] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[right] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[right] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[right] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[right] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[right] PASSED [ 3%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[right] PASSED [ 4%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[right] PASSED [ 4%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[right] PASSED [ 4%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[left] PASSED [ 4%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[left] PASSED [ 4%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[left] PASSED [ 4%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[left] PASSED [ 4%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[left] PASSED [ 4%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[left] PASSED [ 4%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[left] PASSED [ 4%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[left] PASSED [ 4%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[left] PASSED [ 4%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[left] PASSED [ 4%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[both] PASSED [ 4%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[both] PASSED [ 4%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[both] PASSED [ 4%] 423s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[both] PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[both] PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[both] PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[both] PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[both] PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[both] PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[both] PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_has_break PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_regular_holidays_sample PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_adhoc_holidays_sample PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_non_holidays_sample PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_late_opens_sample PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_sample PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_sample_time PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_weekdays PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_weekdays_time PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_non_early_closes_sample PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_non_early_closes_sample_time PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_late_opens PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_session_open_close_break_start_end PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_session_has_break PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_next_prev_session PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_session_offset PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_is_session PASSED [ 4%] 424s tests/test_asex_calendar.py::TestASEXCalendar::test_date_to_session PASSED [ 4%] 427s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_open_close PASSED [ 4%] 427s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_in_range PASSED [ 4%] 427s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_has_break PASSED [ 4%] 427s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_window PASSED [ 4%] 427s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_distance PASSED [ 4%] 427s tests/test_asex_calendar.py::TestASEXCalendar::test_trading_index PASSED [ 4%] 427s tests/test_asex_calendar.py::TestASEXCalendar::test_deprecated PASSED [ 4%] 427s tests/test_asex_calendar.py::TestASEXCalendar::test_close_time_change PASSED [ 4%] 427s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_testbase_integrity PASSED [ 4%] 427s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_base_integrity PASSED [ 4%] 430s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calculated_against_csv PASSED [ 4%] 431s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_start_end PASSED [ 4%] 431s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_invalid_input PASSED [ 4%] 433s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_bound_min PASSED [ 4%] 434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_bound_max PASSED [ 4%] 434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sanity_check_session_lengths PASSED [ 4%] 434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_adhoc_holidays_specification PASSED [ 4%] 434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_daylight_savings PASSED [ 4%] 434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions PASSED [ 4%] 434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_opens_closes_break_starts_ends PASSED [ 4%] 434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[both] PASSED [ 4%] 434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[both] PASSED [ 4%] 434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[both] PASSED [ 4%] 434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[both] PASSED [ 4%] 434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[both] PASSED [ 4%] 434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[both] PASSED [ 4%] 434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[both] PASSED [ 4%] 434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[both] PASSED [ 4%] 435s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[both] PASSED [ 4%] 436s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[both] PASSED [ 4%] 436s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-next] PASSED [ 4%] 436s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-next] PASSED [ 4%] 436s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-next] PASSED [ 4%] 436s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-next] PASSED [ 4%] 436s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[left] PASSED [ 4%] 437s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[left] PASSED [ 4%] 437s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[left] PASSED [ 4%] 437s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[left] PASSED [ 4%] 437s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[left] PASSED [ 4%] 437s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[left] PASSED [ 4%] 437s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[left] PASSED [ 5%] 437s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[left] PASSED [ 5%] 437s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[left] PASSED [ 5%] 438s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[left] PASSED [ 5%] 438s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-previous] PASSED [ 5%] 438s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 5%] 438s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-previous] PASSED [ 5%] 438s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 5%] 439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-previous] PASSED [ 5%] 439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 5%] 439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-next] PASSED [ 5%] 439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-next] PASSED [ 5%] 439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[right] PASSED [ 5%] 439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[right] PASSED [ 5%] 439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[right] PASSED [ 5%] 439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[right] PASSED [ 5%] 439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[right] PASSED [ 5%] 439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[right] PASSED [ 5%] 439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[right] PASSED [ 5%] 439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[right] PASSED [ 5%] 439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[right] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[right] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-none] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-none] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-none] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-none] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-none] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-none] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-none] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-previous] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-next] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[neither] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[neither] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[neither] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[neither] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[neither] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[neither] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[neither] PASSED [ 5%] 441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[neither] PASSED [ 5%] 442s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[neither] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[neither] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[neither] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[neither] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[neither] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[neither] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[neither] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[neither] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[neither] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[neither] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[neither] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[neither] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[right] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[right] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[right] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[right] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[right] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[right] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[right] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[right] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[right] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[right] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[left] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[left] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[left] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[left] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[left] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[left] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[left] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[left] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[left] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[left] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[both] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[both] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[both] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[both] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[both] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[both] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[both] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[both] PASSED [ 5%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[both] PASSED [ 6%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[both] PASSED [ 6%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_has_break PASSED [ 6%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_regular_holidays_sample PASSED [ 6%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_adhoc_holidays_sample PASSED [ 6%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_holidays_sample PASSED [ 6%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_late_opens_sample PASSED [ 6%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_sample PASSED [ 6%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_sample_time PASSED [ 6%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_weekdays PASSED [ 6%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_weekdays_time PASSED [ 6%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_early_closes_sample PASSED [ 6%] 443s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_early_closes_sample_time PASSED [ 6%] 444s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_late_opens PASSED [ 6%] 444s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes PASSED [ 6%] 444s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_open_close_break_start_end PASSED [ 6%] 444s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_has_break PASSED [ 6%] 444s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_next_prev_session PASSED [ 6%] 444s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_offset PASSED [ 6%] 444s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_session PASSED [ 6%] 444s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_date_to_session PASSED [ 6%] 447s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_open_close PASSED [ 6%] 447s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_in_range PASSED [ 6%] 447s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_has_break PASSED [ 6%] 447s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_window PASSED [ 6%] 447s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_distance PASSED [ 6%] 447s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_trading_index PASSED [ 6%] 447s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_deprecated PASSED [ 6%] 447s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_add_new_aliases PASSED [ 6%] 447s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_aliases_to_names PASSED [ 6%] 447s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_allow_alias_override_with_force PASSED [ 6%] 448s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_follow_alias_chain PASSED [ 6%] 448s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar PASSED [ 6%] 448s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_cache PASSED [ 6%] 449s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_kwargs PASSED [ 6%] 449s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_names PASSED [ 6%] 449s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_names_to_aliases PASSED [ 6%] 449s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_reject_alias_that_already_exists PASSED [ 6%] 449s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_reject_cyclic_aliases PASSED [ 6%] 449s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_remove_aliases PASSED [ 6%] 449s tests/test_calendar_helpers.py::test_constants PASSED [ 6%] 449s tests/test_calendar_helpers.py::test_is_date PASSED [ 6%] 449s tests/test_calendar_helpers.py::test_is_utc PASSED [ 6%] 449s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[2021-06-05-True] PASSED [ 6%] 450s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[2021-06-05-False] PASSED [ 6%] 451s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult1-True] PASSED [ 6%] 451s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult1-False] PASSED [ 6%] 452s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[2021-06-02 23:00-True] PASSED [ 6%] 453s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[2021-06-02 23:00-False] PASSED [ 6%] 453s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult1-True] PASSED [ 6%] 454s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult1-False] PASSED [ 6%] 455s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult2-True] PASSED [ 6%] 455s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult2-False] PASSED [ 6%] 455s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[left] PASSED [ 6%] 455s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[right] PASSED [ 6%] 455s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[both] PASSED [ 6%] 455s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[neither] PASSED [ 6%] 456s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[2021-13-13] PASSED [ 6%] 457s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[malformed1] PASSED [ 6%] 457s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[not a timestamp] PASSED [ 6%] 458s tests/test_calendar_helpers.py::test_parse_timestamp_error_oob PASSED [ 6%] 459s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[2021-06-02 23:00] PASSED [ 6%] 459s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[minute_mult1] PASSED [ 6%] 460s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[minute_mult2] PASSED [ 6%] 461s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[2021-06-05] PASSED [ 6%] 461s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[date_mult1] PASSED [ 6%] 462s tests/test_calendar_helpers.py::test_parse_date_or_minute_oob PASSED [ 6%] 463s tests/test_calendar_helpers.py::test_parse_date[2021-06-05] PASSED [ 6%] 463s tests/test_calendar_helpers.py::test_parse_date[date_mult1] PASSED [ 6%] 464s tests/test_calendar_helpers.py::test_parse_date_errors PASSED [ 6%] 465s tests/test_calendar_helpers.py::test_parse_session PASSED [ 6%] 465s tests/test_calendar_helpers.py::test_parse_trading_minute PASSED [ 6%] 471s tests/test_calendar_helpers.py::TestTradingIndex::test_indices_fuzz[XLON] PASSED [ 6%] 474s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XLON] PASSED [ 6%] 474s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XLON] PASSED [ 6%] 479s tests/test_calendar_helpers.py::TestTradingIndex::test_indices_fuzz[XHKG] PASSED [ 6%] 483s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XHKG] PASSED [ 6%] 483s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XHKG] PASSED [ 6%] 486s tests/test_calendar_helpers.py::TestTradingIndex::test_indices_fuzz[XTAE] PASSED [ 6%] 488s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XTAE] PASSED [ 6%] 488s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XTAE] PASSED [ 6%] 493s tests/test_calendar_helpers.py::TestTradingIndex::test_indices_fuzz[CMES] PASSED [ 6%] 497s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[CMES] PASSED [ 7%] 498s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[CMES] PASSED [ 7%] 499s tests/test_calendar_helpers.py::TestTradingIndex::test_indices_fuzz[24/7] PASSED [ 7%] 500s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[24/7] PASSED [ 7%] 501s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[24/7] PASSED [ 7%] 501s tests/test_calendar_helpers.py::TestTradingIndex::test_for_empty_with_neither_fuzz PASSED [ 7%] 502s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[XHKG] PASSED [ 7%] 503s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[24/7] PASSED [ 7%] 504s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[CMES] PASSED [ 7%] 504s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap0-True] PASSED [ 7%] 504s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap0-False] PASSED [ 7%] 504s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap1-True] PASSED [ 7%] 504s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap1-False] PASSED [ 7%] 504s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap2-True] PASSED [ 7%] 504s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap2-False] PASSED [ 7%] 504s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap3-True] PASSED [ 7%] 504s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap3-False] PASSED [ 7%] 504s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[right-True] PASSED [ 7%] 504s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[right-False] PASSED [ 7%] 504s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[both-True] PASSED [ 7%] 504s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[both-False] PASSED [ 7%] 504s tests/test_calendar_helpers.py::TestTradingIndex::test_force PASSED [ 7%] 504s tests/test_calendar_helpers.py::TestTradingIndex::test_ignore_breaks PASSED [ 7%] 506s tests/test_calendar_helpers.py::TestTradingIndex::test_align PASSED [ 7%] 506s tests/test_calendar_helpers.py::TestTradingIndex::test_align_overlap PASSED [ 7%] 507s tests/test_calendar_helpers.py::TestTradingIndex::test_start_end_times PASSED [ 7%] 507s tests/test_calendar_helpers.py::TestTradingIndex::test_parsing_errors PASSED [ 7%] 507s tests/test_cmes_calendar.py::TestCMESCalendar::test_testbase_integrity PASSED [ 7%] 507s tests/test_cmes_calendar.py::TestCMESCalendar::test_base_integrity PASSED [ 7%] 509s tests/test_cmes_calendar.py::TestCMESCalendar::test_calculated_against_csv PASSED [ 7%] 509s tests/test_cmes_calendar.py::TestCMESCalendar::test_start_end PASSED [ 7%] 509s tests/test_cmes_calendar.py::TestCMESCalendar::test_invalid_input PASSED [ 7%] 511s tests/test_cmes_calendar.py::TestCMESCalendar::test_bound_min PASSED [ 7%] 511s tests/test_cmes_calendar.py::TestCMESCalendar::test_bound_max PASSED [ 7%] 511s tests/test_cmes_calendar.py::TestCMESCalendar::test_sanity_check_session_lengths PASSED [ 7%] 511s tests/test_cmes_calendar.py::TestCMESCalendar::test_adhoc_holidays_specification PASSED [ 7%] 511s tests/test_cmes_calendar.py::TestCMESCalendar::test_daylight_savings PASSED [ 7%] 511s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions PASSED [ 7%] 511s tests/test_cmes_calendar.py::TestCMESCalendar::test_opens_closes_break_starts_ends PASSED [ 7%] 511s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_properties[left] PASSED [ 7%] 513s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes[left] PASSED [ 7%] 513s tests/test_cmes_calendar.py::TestCMESCalendar::test_calendar_bounds_properties[left] PASSED [ 7%] 513s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minute_methods[left] PASSED [ 7%] 513s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minutes[left] PASSED [ 7%] 513s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_trading_minute[left] PASSED [ 7%] 513s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_break_minute[left] PASSED [ 7%] 513s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_on_minute[left] PASSED [ 7%] 513s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_at_time[left] PASSED [ 7%] 514s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_minute[left] PASSED [ 7%] 514s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-next] PASSED [ 7%] 514s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-next] PASSED [ 7%] 515s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-next] PASSED [ 7%] 515s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-next] PASSED [ 7%] 515s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_properties[right] PASSED [ 7%] 516s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes[right] PASSED [ 7%] 516s tests/test_cmes_calendar.py::TestCMESCalendar::test_calendar_bounds_properties[right] PASSED [ 7%] 516s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minute_methods[right] PASSED [ 7%] 516s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minutes[right] PASSED [ 7%] 516s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_trading_minute[right] PASSED [ 7%] 516s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_break_minute[right] PASSED [ 7%] 516s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_on_minute[right] PASSED [ 7%] 516s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_at_time[right] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_minute[right] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-previous] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-previous] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-none] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-none] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-none] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-none] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_past_session[right] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_future_session[right] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset[right] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset_by_sessions[right] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_in_range[right] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_window[right] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_distance[right] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_to_sessions[right] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes[right] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes_count[right] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_past_session[left] PASSED [ 7%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_future_session[left] PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset[left] PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset_by_sessions[left] PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_in_range[left] PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_window[left] PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_distance[left] PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_to_sessions[left] PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes[left] PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes_count[left] PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_has_break PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_regular_holidays_sample PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_adhoc_holidays_sample PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_holidays_sample PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_late_opens_sample PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_sample PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_sample_time PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_weekdays PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_weekdays_time PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_early_closes_sample PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_early_closes_sample_time PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_late_opens PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_open_close_break_start_end PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_has_break PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_next_prev_session PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_offset PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_session PASSED [ 8%] 518s tests/test_cmes_calendar.py::TestCMESCalendar::test_date_to_session PASSED [ 8%] 520s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_open_close PASSED [ 8%] 520s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_in_range PASSED [ 8%] 520s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_has_break PASSED [ 8%] 520s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_window PASSED [ 8%] 520s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_distance PASSED [ 8%] 520s tests/test_cmes_calendar.py::TestCMESCalendar::test_trading_index PASSED [ 8%] 520s tests/test_cmes_calendar.py::TestCMESCalendar::test_deprecated PASSED [ 8%] 520s tests/test_exchange_calendar.py::TestCalendarRegistration::test_register_calendar PASSED [ 8%] 520s tests/test_exchange_calendar.py::TestCalendarRegistration::test_register_calendar_type PASSED [ 8%] 521s tests/test_exchange_calendar.py::TestCalendarRegistration::test_both_places_are_checked PASSED [ 8%] 521s tests/test_exchange_calendar.py::TestCalendarRegistration::test_force_registration PASSED [ 8%] 557s tests/test_exchange_calendar.py::test_default_calendars PASSED [ 8%] 557s tests/test_exchange_calendar.py::test_days_at_time[2016-07-19-0-time_offset0-tz0-2016-07-19 9:31] PASSED [ 8%] 557s tests/test_exchange_calendar.py::test_days_at_time[2016-07-19--1-time_offset1-tz1-2016-07-18 17:01] PASSED [ 8%] 557s tests/test_exchange_calendar.py::test_days_at_time[2004-04-05--1-time_offset2-tz2-2004-04-04 17:01] PASSED [ 8%] 557s tests/test_exchange_calendar.py::test_days_at_time[1990-04-02--1-time_offset3-tz3-1990-04-01 19:01] PASSED [ 8%] 557s tests/test_iepa_calendar.py::TestIEPACalendar::test_testbase_integrity PASSED [ 8%] 557s tests/test_iepa_calendar.py::TestIEPACalendar::test_base_integrity PASSED [ 8%] 559s tests/test_iepa_calendar.py::TestIEPACalendar::test_calculated_against_csv PASSED [ 8%] 559s tests/test_iepa_calendar.py::TestIEPACalendar::test_start_end PASSED [ 8%] 559s tests/test_iepa_calendar.py::TestIEPACalendar::test_invalid_input PASSED [ 8%] 561s tests/test_iepa_calendar.py::TestIEPACalendar::test_bound_min PASSED [ 8%] 562s tests/test_iepa_calendar.py::TestIEPACalendar::test_bound_max PASSED [ 8%] 562s tests/test_iepa_calendar.py::TestIEPACalendar::test_sanity_check_session_lengths PASSED [ 8%] 562s tests/test_iepa_calendar.py::TestIEPACalendar::test_adhoc_holidays_specification PASSED [ 8%] 562s tests/test_iepa_calendar.py::TestIEPACalendar::test_daylight_savings PASSED [ 8%] 562s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions PASSED [ 8%] 562s tests/test_iepa_calendar.py::TestIEPACalendar::test_opens_closes_break_starts_ends PASSED [ 8%] 562s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[both] PASSED [ 8%] 563s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[both] PASSED [ 8%] 563s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[both] PASSED [ 8%] 563s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[both] PASSED [ 8%] 563s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[both] PASSED [ 8%] 563s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[both] PASSED [ 8%] 563s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[both] PASSED [ 8%] 563s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[both] PASSED [ 8%] 563s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[both] PASSED [ 8%] 564s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[both] PASSED [ 8%] 564s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-next] PASSED [ 8%] 564s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-next] PASSED [ 8%] 565s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-next] PASSED [ 8%] 565s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-next] PASSED [ 8%] 565s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[left] PASSED [ 8%] 565s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[left] PASSED [ 8%] 565s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[left] PASSED [ 8%] 565s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[left] PASSED [ 8%] 565s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[left] PASSED [ 8%] 565s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[left] PASSED [ 8%] 565s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[left] PASSED [ 8%] 565s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[left] PASSED [ 8%] 566s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[left] PASSED [ 8%] 567s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[left] PASSED [ 8%] 567s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-previous] PASSED [ 8%] 567s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 8%] 567s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-previous] PASSED [ 9%] 567s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 9%] 567s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-previous] PASSED [ 9%] 567s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 9%] 567s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-next] PASSED [ 9%] 567s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-next] PASSED [ 9%] 567s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[right] PASSED [ 9%] 568s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[right] PASSED [ 9%] 568s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[right] PASSED [ 9%] 568s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[right] PASSED [ 9%] 568s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[right] PASSED [ 9%] 568s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[right] PASSED [ 9%] 568s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[right] PASSED [ 9%] 568s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[right] PASSED [ 9%] 568s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[right] PASSED [ 9%] 569s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[right] PASSED [ 9%] 569s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-none] PASSED [ 9%] 569s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-none] PASSED [ 9%] 569s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-none] PASSED [ 9%] 569s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-none] PASSED [ 9%] 569s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-none] PASSED [ 9%] 569s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-none] PASSED [ 9%] 570s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-none] PASSED [ 9%] 570s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 9%] 570s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-previous] PASSED [ 9%] 570s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 9%] 570s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-next] PASSED [ 9%] 570s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 9%] 570s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[neither] PASSED [ 9%] 570s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[neither] PASSED [ 9%] 570s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[neither] PASSED [ 9%] 570s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[neither] PASSED [ 9%] 570s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[neither] PASSED [ 9%] 570s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[neither] PASSED [ 9%] 570s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[neither] PASSED [ 9%] 570s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[neither] PASSED [ 9%] 571s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[neither] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[neither] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[neither] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[neither] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[neither] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[neither] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[neither] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[neither] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[neither] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[neither] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[neither] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[neither] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[right] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[right] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[right] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[right] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[right] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[right] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[right] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[right] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[right] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[right] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[left] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[left] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[left] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[left] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[left] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[left] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[left] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[left] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[left] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[left] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[both] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[both] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[both] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[both] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[both] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[both] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[both] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[both] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[both] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[both] PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_has_break PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_regular_holidays_sample PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_adhoc_holidays_sample PASSED [ 9%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_holidays_sample PASSED [ 10%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_late_opens_sample PASSED [ 10%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_sample PASSED [ 10%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_sample_time PASSED [ 10%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_weekdays PASSED [ 10%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_weekdays_time PASSED [ 10%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_early_closes_sample PASSED [ 10%] 572s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_early_closes_sample_time PASSED [ 10%] 573s tests/test_iepa_calendar.py::TestIEPACalendar::test_late_opens PASSED [ 10%] 573s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes PASSED [ 10%] 573s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_open_close_break_start_end PASSED [ 10%] 573s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_has_break PASSED [ 10%] 573s tests/test_iepa_calendar.py::TestIEPACalendar::test_next_prev_session PASSED [ 10%] 573s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_offset PASSED [ 10%] 573s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_session PASSED [ 10%] 573s tests/test_iepa_calendar.py::TestIEPACalendar::test_date_to_session PASSED [ 10%] 575s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_open_close PASSED [ 10%] 575s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_in_range PASSED [ 10%] 575s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_has_break PASSED [ 10%] 575s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_window PASSED [ 10%] 575s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_distance PASSED [ 10%] 576s tests/test_iepa_calendar.py::TestIEPACalendar::test_trading_index PASSED [ 10%] 576s tests/test_iepa_calendar.py::TestIEPACalendar::test_deprecated PASSED [ 10%] 576s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_testbase_integrity PASSED [ 10%] 576s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_base_integrity PASSED [ 10%] 576s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calculated_against_csv PASSED [ 10%] 576s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_start_end PASSED [ 10%] 576s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_invalid_input PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_bound_min PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_bound_max PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sanity_check_session_lengths PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_adhoc_holidays_specification PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_daylight_savings PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_opens_closes_break_starts_ends PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_properties[left] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes[left] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calendar_bounds_properties[left] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minute_methods[left] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minutes[left] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_trading_minute[left] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_break_minute[left] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_on_minute[left] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_at_time[left] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_minute[left] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-next] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-next] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-next] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-next] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_properties[right] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes[right] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calendar_bounds_properties[right] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minute_methods[right] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minutes[right] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_trading_minute[right] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_break_minute[right] PASSED [ 10%] 577s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_on_minute[right] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_at_time[right] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_minute[right] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-previous] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-previous] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-none] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-none] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-none] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-none] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_past_session[right] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_future_session[right] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset[right] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset_by_sessions[right] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_in_range[right] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_window[right] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_distance[right] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_to_sessions[right] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes[right] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes_count[right] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_past_session[left] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_future_session[left] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset[left] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset_by_sessions[left] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_in_range[left] PASSED [ 10%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_window[left] PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_distance[left] PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_to_sessions[left] PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes[left] PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes_count[left] PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_has_break PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_regular_holidays_sample PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_adhoc_holidays_sample PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_holidays_sample PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_late_opens_sample PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_sample PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_sample_time PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_weekdays PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_weekdays_time PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_early_closes_sample PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_early_closes_sample_time PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_late_opens PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_open_close_break_start_end PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_has_break PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_next_prev_session PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_offset PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_session PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_date_to_session PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_open_close PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_in_range PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_has_break PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_window PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_distance PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_trading_index PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_deprecated PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_open_every_weekday PASSED [ 11%] 578s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_open_every_weekday_minute PASSED [ 11%] 578s tests/test_xams_calendar.py::TestXAMSCalendar::test_testbase_integrity PASSED [ 11%] 578s tests/test_xams_calendar.py::TestXAMSCalendar::test_base_integrity PASSED [ 11%] 581s tests/test_xams_calendar.py::TestXAMSCalendar::test_calculated_against_csv PASSED [ 11%] 581s tests/test_xams_calendar.py::TestXAMSCalendar::test_start_end PASSED [ 11%] 581s tests/test_xams_calendar.py::TestXAMSCalendar::test_invalid_input PASSED [ 11%] 583s tests/test_xams_calendar.py::TestXAMSCalendar::test_bound_min PASSED [ 11%] 584s tests/test_xams_calendar.py::TestXAMSCalendar::test_bound_max PASSED [ 11%] 584s tests/test_xams_calendar.py::TestXAMSCalendar::test_sanity_check_session_lengths PASSED [ 11%] 584s tests/test_xams_calendar.py::TestXAMSCalendar::test_adhoc_holidays_specification PASSED [ 11%] 584s tests/test_xams_calendar.py::TestXAMSCalendar::test_daylight_savings PASSED [ 11%] 584s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions PASSED [ 11%] 584s tests/test_xams_calendar.py::TestXAMSCalendar::test_opens_closes_break_starts_ends PASSED [ 11%] 584s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[both] PASSED [ 11%] 584s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[both] PASSED [ 11%] 584s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[both] PASSED [ 11%] 584s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[both] PASSED [ 11%] 584s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[both] PASSED [ 11%] 584s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[both] PASSED [ 11%] 584s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[both] PASSED [ 11%] 584s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[both] PASSED [ 11%] 585s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[both] PASSED [ 11%] 586s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[both] PASSED [ 11%] 586s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-next] PASSED [ 11%] 586s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 11%] 586s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-next] PASSED [ 11%] 586s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 11%] 586s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[left] PASSED [ 11%] 586s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[left] PASSED [ 11%] 586s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[left] PASSED [ 11%] 586s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[left] PASSED [ 11%] 586s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[left] PASSED [ 11%] 586s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[left] PASSED [ 11%] 586s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[left] PASSED [ 11%] 586s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[left] PASSED [ 11%] 587s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[left] PASSED [ 11%] 588s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[left] PASSED [ 11%] 588s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-previous] PASSED [ 11%] 588s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 11%] 588s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-previous] PASSED [ 11%] 588s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 11%] 588s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-previous] PASSED [ 11%] 588s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 11%] 588s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-next] PASSED [ 11%] 588s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 11%] 588s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[right] PASSED [ 11%] 588s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[right] PASSED [ 11%] 588s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[right] PASSED [ 11%] 588s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[right] PASSED [ 11%] 588s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[right] PASSED [ 11%] 588s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[right] PASSED [ 12%] 588s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[right] PASSED [ 12%] 588s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[right] PASSED [ 12%] 589s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[right] PASSED [ 12%] 590s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[right] PASSED [ 12%] 590s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-none] PASSED [ 12%] 590s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 12%] 590s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-none] PASSED [ 12%] 590s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 12%] 590s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-none] PASSED [ 12%] 590s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 12%] 590s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-none] PASSED [ 12%] 590s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 12%] 590s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-previous] PASSED [ 12%] 590s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 12%] 590s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-next] PASSED [ 12%] 590s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 12%] 590s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[neither] PASSED [ 12%] 591s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[neither] PASSED [ 12%] 591s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[neither] PASSED [ 12%] 591s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[neither] PASSED [ 12%] 591s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[neither] PASSED [ 12%] 591s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[neither] PASSED [ 12%] 591s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[neither] PASSED [ 12%] 591s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[neither] PASSED [ 12%] 591s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[neither] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[neither] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[neither] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[neither] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[neither] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[neither] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[neither] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[neither] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[neither] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[neither] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[neither] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[right] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[right] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[right] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[right] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[right] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[right] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[right] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[right] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[right] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[right] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[left] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[left] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[left] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[left] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[left] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[left] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[left] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[left] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[left] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[left] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[both] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[both] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[both] PASSED [ 12%] 592s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[both] PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[both] PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[both] PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[both] PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[both] PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[both] PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[both] PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_has_break PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_regular_holidays_sample PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_adhoc_holidays_sample PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_holidays_sample PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_late_opens_sample PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_sample PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_sample_time PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_weekdays PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_weekdays_time PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_early_closes_sample PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_early_closes_sample_time PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_late_opens PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_open_close_break_start_end PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_has_break PASSED [ 12%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_next_prev_session PASSED [ 13%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_offset PASSED [ 13%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_session PASSED [ 13%] 593s tests/test_xams_calendar.py::TestXAMSCalendar::test_date_to_session PASSED [ 13%] 595s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_open_close PASSED [ 13%] 596s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_in_range PASSED [ 13%] 596s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_has_break PASSED [ 13%] 596s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_window PASSED [ 13%] 596s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_distance PASSED [ 13%] 596s tests/test_xams_calendar.py::TestXAMSCalendar::test_trading_index PASSED [ 13%] 596s tests/test_xams_calendar.py::TestXAMSCalendar::test_deprecated PASSED [ 13%] 596s tests/test_xasx_calendar.py::TestXASXCalendar::test_testbase_integrity PASSED [ 13%] 596s tests/test_xasx_calendar.py::TestXASXCalendar::test_base_integrity PASSED [ 13%] 599s tests/test_xasx_calendar.py::TestXASXCalendar::test_calculated_against_csv PASSED [ 13%] 599s tests/test_xasx_calendar.py::TestXASXCalendar::test_start_end PASSED [ 13%] 600s tests/test_xasx_calendar.py::TestXASXCalendar::test_invalid_input PASSED [ 13%] 602s tests/test_xasx_calendar.py::TestXASXCalendar::test_bound_min PASSED [ 13%] 602s tests/test_xasx_calendar.py::TestXASXCalendar::test_bound_max PASSED [ 13%] 602s tests/test_xasx_calendar.py::TestXASXCalendar::test_sanity_check_session_lengths PASSED [ 13%] 602s tests/test_xasx_calendar.py::TestXASXCalendar::test_adhoc_holidays_specification PASSED [ 13%] 602s tests/test_xasx_calendar.py::TestXASXCalendar::test_daylight_savings PASSED [ 13%] 602s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions PASSED [ 13%] 602s tests/test_xasx_calendar.py::TestXASXCalendar::test_opens_closes_break_starts_ends PASSED [ 13%] 602s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[both] PASSED [ 13%] 603s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[both] PASSED [ 13%] 603s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[both] PASSED [ 13%] 603s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[both] PASSED [ 13%] 603s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[both] PASSED [ 13%] 603s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[both] PASSED [ 13%] 603s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[both] PASSED [ 13%] 603s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[both] PASSED [ 13%] 603s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[both] PASSED [ 13%] 605s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[both] PASSED [ 13%] 605s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-next] PASSED [ 13%] 605s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 13%] 605s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-next] PASSED [ 13%] 605s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 13%] 605s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[left] PASSED [ 13%] 605s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[left] PASSED [ 13%] 605s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[left] PASSED [ 13%] 605s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[left] PASSED [ 13%] 605s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[left] PASSED [ 13%] 605s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[left] PASSED [ 13%] 605s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[left] PASSED [ 13%] 605s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[left] PASSED [ 13%] 605s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[left] PASSED [ 13%] 607s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[left] PASSED [ 13%] 607s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-previous] PASSED [ 13%] 607s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 13%] 607s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-previous] PASSED [ 13%] 607s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 13%] 607s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-previous] PASSED [ 13%] 607s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 13%] 607s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-next] PASSED [ 13%] 607s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 13%] 607s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[right] PASSED [ 13%] 607s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[right] PASSED [ 13%] 607s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[right] PASSED [ 13%] 607s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[right] PASSED [ 13%] 607s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[right] PASSED [ 13%] 607s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[right] PASSED [ 13%] 607s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[right] PASSED [ 13%] 607s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[right] PASSED [ 13%] 608s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[right] PASSED [ 13%] 609s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[right] PASSED [ 13%] 609s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-none] PASSED [ 13%] 609s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 13%] 609s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-none] PASSED [ 13%] 609s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 13%] 609s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-none] PASSED [ 13%] 609s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 13%] 609s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-none] PASSED [ 13%] 609s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 13%] 609s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-previous] PASSED [ 13%] 609s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 13%] 609s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-next] PASSED [ 13%] 609s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 13%] 609s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[neither] PASSED [ 13%] 610s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[neither] PASSED [ 13%] 610s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[neither] PASSED [ 13%] 610s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[neither] PASSED [ 13%] 610s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[neither] PASSED [ 13%] 610s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[neither] PASSED [ 14%] 610s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[neither] PASSED [ 14%] 610s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[neither] PASSED [ 14%] 610s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[neither] PASSED [ 14%] 611s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[neither] PASSED [ 14%] 611s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[neither] PASSED [ 14%] 611s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[neither] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[neither] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[neither] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[neither] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[neither] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[neither] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[neither] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[neither] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[right] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[right] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[right] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[right] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[right] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[right] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[right] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[right] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[right] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[right] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[left] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[left] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[left] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[left] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[left] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[left] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[left] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[left] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[left] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[left] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[both] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[both] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[both] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[both] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[both] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[both] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[both] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[both] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[both] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[both] PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_has_break PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_regular_holidays_sample PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_adhoc_holidays_sample PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_holidays_sample PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_late_opens_sample PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_sample PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_sample_time PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_weekdays PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_weekdays_time PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_early_closes_sample PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_early_closes_sample_time PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_late_opens PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_open_close_break_start_end PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_has_break PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_next_prev_session PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_offset PASSED [ 14%] 612s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_session PASSED [ 14%] 613s tests/test_xasx_calendar.py::TestXASXCalendar::test_date_to_session PASSED [ 14%] 615s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_open_close PASSED [ 14%] 615s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_in_range PASSED [ 14%] 615s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_has_break PASSED [ 14%] 615s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_window PASSED [ 14%] 615s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_distance PASSED [ 14%] 616s tests/test_xasx_calendar.py::TestXASXCalendar::test_trading_index PASSED [ 14%] 616s tests/test_xasx_calendar.py::TestXASXCalendar::test_deprecated PASSED [ 14%] 616s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_testbase_integrity PASSED [ 14%] 616s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_base_integrity PASSED [ 14%] 619s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calculated_against_csv PASSED [ 14%] 619s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_start_end PASSED [ 14%] 619s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_invalid_input PASSED [ 14%] 621s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_bound_min PASSED [ 14%] 622s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_bound_max PASSED [ 14%] 622s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sanity_check_session_lengths PASSED [ 14%] 622s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_adhoc_holidays_specification PASSED [ 14%] 622s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_daylight_savings PASSED [ 14%] 622s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions PASSED [ 14%] 622s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_opens_closes_break_starts_ends PASSED [ 15%] 622s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[both] PASSED [ 15%] 622s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[both] PASSED [ 15%] 622s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[both] PASSED [ 15%] 622s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[both] PASSED [ 15%] 622s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[both] PASSED [ 15%] 622s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[both] PASSED [ 15%] 622s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[both] PASSED [ 15%] 622s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[both] PASSED [ 15%] 623s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[both] PASSED [ 15%] 624s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[both] PASSED [ 15%] 624s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-next] PASSED [ 15%] 624s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-next] PASSED [ 15%] 624s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-next] PASSED [ 15%] 624s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-next] PASSED [ 15%] 624s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[left] PASSED [ 15%] 624s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[left] PASSED [ 15%] 624s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[left] PASSED [ 15%] 624s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[left] PASSED [ 15%] 624s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[left] PASSED [ 15%] 624s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[left] PASSED [ 15%] 624s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[left] PASSED [ 15%] 624s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[left] PASSED [ 15%] 624s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[left] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[left] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-previous] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-previous] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-previous] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-next] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-next] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[right] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[right] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[right] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[right] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[right] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[right] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[right] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[right] PASSED [ 15%] 626s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[right] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[right] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-none] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-none] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-none] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-none] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-none] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-none] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-none] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-previous] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-next] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[neither] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[neither] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[neither] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[neither] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[neither] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[neither] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[neither] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[neither] PASSED [ 15%] 628s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[neither] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[neither] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[neither] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[neither] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[neither] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[neither] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[neither] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[neither] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[neither] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[neither] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[neither] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[neither] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[right] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[right] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[right] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[right] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[right] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[right] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[right] PASSED [ 15%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[right] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[right] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[right] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[left] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[left] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[left] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[left] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[left] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[left] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[left] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[left] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[left] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[left] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[both] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[both] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[both] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[both] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[both] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[both] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[both] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[both] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[both] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[both] PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_has_break PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_regular_holidays_sample PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_adhoc_holidays_sample PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_holidays_sample PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_late_opens_sample PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_sample PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_sample_time PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_weekdays PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_weekdays_time PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_early_closes_sample PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_early_closes_sample_time PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_late_opens PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_open_close_break_start_end PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_has_break PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_next_prev_session PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_offset PASSED [ 16%] 630s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_session PASSED [ 16%] 631s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_date_to_session PASSED [ 16%] 633s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_open_close PASSED [ 16%] 633s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_in_range PASSED [ 16%] 633s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_has_break PASSED [ 16%] 633s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_window PASSED [ 16%] 633s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_distance PASSED [ 16%] 633s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_trading_index PASSED [ 16%] 633s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_deprecated PASSED [ 16%] 633s tests/test_xbog_calendar.py::TestXBOGCalendar::test_testbase_integrity PASSED [ 16%] 633s tests/test_xbog_calendar.py::TestXBOGCalendar::test_base_integrity PASSED [ 16%] 637s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calculated_against_csv PASSED [ 16%] 637s tests/test_xbog_calendar.py::TestXBOGCalendar::test_start_end PASSED [ 16%] 638s tests/test_xbog_calendar.py::TestXBOGCalendar::test_invalid_input PASSED [ 16%] 640s tests/test_xbog_calendar.py::TestXBOGCalendar::test_bound_min PASSED [ 16%] 641s tests/test_xbog_calendar.py::TestXBOGCalendar::test_bound_max PASSED [ 16%] 641s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sanity_check_session_lengths PASSED [ 16%] 641s tests/test_xbog_calendar.py::TestXBOGCalendar::test_adhoc_holidays_specification PASSED [ 16%] 641s tests/test_xbog_calendar.py::TestXBOGCalendar::test_daylight_savings PASSED [ 16%] 641s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions PASSED [ 16%] 641s tests/test_xbog_calendar.py::TestXBOGCalendar::test_opens_closes_break_starts_ends PASSED [ 16%] 641s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[both] PASSED [ 16%] 641s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[both] PASSED [ 16%] 641s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[both] PASSED [ 16%] 641s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[both] PASSED [ 16%] 641s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[both] PASSED [ 16%] 641s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[both] PASSED [ 16%] 641s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[both] PASSED [ 16%] 641s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[both] PASSED [ 16%] 641s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[both] PASSED [ 16%] 643s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[both] PASSED [ 16%] 643s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-next] PASSED [ 16%] 643s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 16%] 643s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-next] PASSED [ 16%] 643s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 16%] 643s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[left] PASSED [ 16%] 643s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[left] PASSED [ 16%] 643s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[left] PASSED [ 16%] 643s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[left] PASSED [ 16%] 643s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[left] PASSED [ 16%] 643s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[left] PASSED [ 16%] 643s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[left] PASSED [ 16%] 643s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[left] PASSED [ 17%] 643s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[left] PASSED [ 17%] 644s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[left] PASSED [ 17%] 644s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-previous] PASSED [ 17%] 644s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 17%] 644s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-previous] PASSED [ 17%] 644s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 17%] 645s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-previous] PASSED [ 17%] 645s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 17%] 645s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-next] PASSED [ 17%] 645s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 17%] 645s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[right] PASSED [ 17%] 645s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[right] PASSED [ 17%] 645s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[right] PASSED [ 17%] 645s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[right] PASSED [ 17%] 645s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[right] PASSED [ 17%] 645s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[right] PASSED [ 17%] 645s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[right] PASSED [ 17%] 645s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[right] PASSED [ 17%] 645s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[right] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[right] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-none] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-none] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-none] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-none] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-previous] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-next] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[neither] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[neither] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[neither] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[neither] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[neither] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[neither] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[neither] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[neither] PASSED [ 17%] 647s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[neither] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[neither] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[neither] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[neither] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[neither] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[neither] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[neither] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[neither] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[neither] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[neither] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[neither] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[right] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[right] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[right] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[right] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[right] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[right] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[right] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[right] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[right] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[right] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[left] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[left] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[left] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[left] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[left] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[left] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[left] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[left] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[left] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[left] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[both] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[both] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[both] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[both] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[both] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[both] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[both] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[both] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[both] PASSED [ 17%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[both] PASSED [ 18%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_has_break PASSED [ 18%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_regular_holidays_sample PASSED [ 18%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_adhoc_holidays_sample PASSED [ 18%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_holidays_sample PASSED [ 18%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_late_opens_sample PASSED [ 18%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_sample PASSED [ 18%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_sample_time PASSED [ 18%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_weekdays PASSED [ 18%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_weekdays_time PASSED [ 18%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_early_closes_sample PASSED [ 18%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_early_closes_sample_time PASSED [ 18%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_late_opens PASSED [ 18%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes PASSED [ 18%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_open_close_break_start_end PASSED [ 18%] 649s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_has_break PASSED [ 18%] 650s tests/test_xbog_calendar.py::TestXBOGCalendar::test_next_prev_session PASSED [ 18%] 650s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_offset PASSED [ 18%] 650s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_session PASSED [ 18%] 650s tests/test_xbog_calendar.py::TestXBOGCalendar::test_date_to_session PASSED [ 18%] 652s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_open_close PASSED [ 18%] 652s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_in_range PASSED [ 18%] 652s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_has_break PASSED [ 18%] 652s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_window PASSED [ 18%] 652s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_distance PASSED [ 18%] 652s tests/test_xbog_calendar.py::TestXBOGCalendar::test_trading_index PASSED [ 18%] 652s tests/test_xbog_calendar.py::TestXBOGCalendar::test_deprecated PASSED [ 18%] 652s tests/test_xbom_calendar.py::TestXBOMCalendar::test_testbase_integrity PASSED [ 18%] 652s tests/test_xbom_calendar.py::TestXBOMCalendar::test_base_integrity PASSED [ 18%] 654s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calculated_against_csv PASSED [ 18%] 654s tests/test_xbom_calendar.py::TestXBOMCalendar::test_start_end PASSED [ 18%] 654s tests/test_xbom_calendar.py::TestXBOMCalendar::test_invalid_input PASSED [ 18%] 655s tests/test_xbom_calendar.py::TestXBOMCalendar::test_bound_min PASSED [ 18%] 655s tests/test_xbom_calendar.py::TestXBOMCalendar::test_bound_max PASSED [ 18%] 655s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sanity_check_session_lengths PASSED [ 18%] 655s tests/test_xbom_calendar.py::TestXBOMCalendar::test_adhoc_holidays_specification PASSED [ 18%] 655s tests/test_xbom_calendar.py::TestXBOMCalendar::test_daylight_savings PASSED [ 18%] 655s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions PASSED [ 18%] 655s tests/test_xbom_calendar.py::TestXBOMCalendar::test_opens_closes_break_starts_ends PASSED [ 18%] 655s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[both] PASSED [ 18%] 655s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[both] PASSED [ 18%] 655s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[both] PASSED [ 18%] 655s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[both] PASSED [ 18%] 655s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[both] PASSED [ 18%] 655s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[both] PASSED [ 18%] 655s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[both] PASSED [ 18%] 655s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[both] PASSED [ 18%] 655s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[both] PASSED [ 18%] 657s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[both] PASSED [ 18%] 657s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-next] PASSED [ 18%] 657s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 18%] 657s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-next] PASSED [ 18%] 657s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 18%] 657s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[left] PASSED [ 18%] 657s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[left] PASSED [ 18%] 657s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[left] PASSED [ 18%] 657s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[left] PASSED [ 18%] 657s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[left] PASSED [ 18%] 657s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[left] PASSED [ 18%] 657s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[left] PASSED [ 18%] 657s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[left] PASSED [ 18%] 657s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[left] PASSED [ 18%] 658s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[left] PASSED [ 18%] 658s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-previous] PASSED [ 18%] 658s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 18%] 658s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-previous] PASSED [ 18%] 658s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 18%] 658s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-previous] PASSED [ 18%] 658s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 18%] 658s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-next] PASSED [ 18%] 658s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 18%] 658s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[right] PASSED [ 18%] 659s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[right] PASSED [ 18%] 659s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[right] PASSED [ 18%] 659s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[right] PASSED [ 18%] 659s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[right] PASSED [ 18%] 659s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[right] PASSED [ 18%] 659s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[right] PASSED [ 18%] 659s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[right] PASSED [ 18%] 659s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[right] PASSED [ 18%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[right] PASSED [ 18%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-none] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-none] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-none] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-none] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-previous] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-next] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[neither] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[neither] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[neither] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[neither] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[neither] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[neither] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[neither] PASSED [ 19%] 660s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[neither] PASSED [ 19%] 661s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[neither] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[neither] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[neither] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[neither] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[neither] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[neither] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[neither] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[neither] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[neither] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[neither] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[neither] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[right] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[right] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[right] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[right] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[right] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[right] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[right] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[right] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[right] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[right] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[left] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[left] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[left] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[left] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[left] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[left] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[left] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[left] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[left] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[left] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[both] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[both] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[both] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[both] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[both] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[both] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[both] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[both] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[both] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[both] PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_has_break PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_regular_holidays_sample PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_adhoc_holidays_sample PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_holidays_sample PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_late_opens_sample PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_sample PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_sample_time PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_weekdays PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_weekdays_time PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_early_closes_sample PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_early_closes_sample_time PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_late_opens PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_open_close_break_start_end PASSED [ 19%] 662s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_has_break PASSED [ 19%] 663s tests/test_xbom_calendar.py::TestXBOMCalendar::test_next_prev_session PASSED [ 19%] 663s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_offset PASSED [ 19%] 663s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_session PASSED [ 19%] 663s tests/test_xbom_calendar.py::TestXBOMCalendar::test_date_to_session PASSED [ 19%] 665s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_open_close PASSED [ 19%] 665s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_in_range PASSED [ 20%] 665s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_has_break PASSED [ 20%] 665s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_window PASSED [ 20%] 665s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_distance PASSED [ 20%] 665s tests/test_xbom_calendar.py::TestXBOMCalendar::test_trading_index PASSED [ 20%] 665s tests/test_xbom_calendar.py::TestXBOMCalendar::test_deprecated PASSED [ 20%] 665s tests/test_xbru_calendar.py::TestXBRUCalendar::test_testbase_integrity PASSED [ 20%] 665s tests/test_xbru_calendar.py::TestXBRUCalendar::test_base_integrity PASSED [ 20%] 668s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calculated_against_csv PASSED [ 20%] 668s tests/test_xbru_calendar.py::TestXBRUCalendar::test_start_end PASSED [ 20%] 668s tests/test_xbru_calendar.py::TestXBRUCalendar::test_invalid_input PASSED [ 20%] 670s tests/test_xbru_calendar.py::TestXBRUCalendar::test_bound_min PASSED [ 20%] 671s tests/test_xbru_calendar.py::TestXBRUCalendar::test_bound_max PASSED [ 20%] 671s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sanity_check_session_lengths PASSED [ 20%] 671s tests/test_xbru_calendar.py::TestXBRUCalendar::test_adhoc_holidays_specification PASSED [ 20%] 671s tests/test_xbru_calendar.py::TestXBRUCalendar::test_daylight_savings PASSED [ 20%] 671s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions PASSED [ 20%] 671s tests/test_xbru_calendar.py::TestXBRUCalendar::test_opens_closes_break_starts_ends PASSED [ 20%] 671s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[both] PASSED [ 20%] 671s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[both] PASSED [ 20%] 671s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[both] PASSED [ 20%] 671s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[both] PASSED [ 20%] 671s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[both] PASSED [ 20%] 671s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[both] PASSED [ 20%] 671s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[both] PASSED [ 20%] 671s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[both] PASSED [ 20%] 671s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[both] PASSED [ 20%] 673s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[both] PASSED [ 20%] 673s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-next] PASSED [ 20%] 673s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-next] PASSED [ 20%] 673s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-next] PASSED [ 20%] 673s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-next] PASSED [ 20%] 673s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[left] PASSED [ 20%] 673s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[left] PASSED [ 20%] 673s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[left] PASSED [ 20%] 673s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[left] PASSED [ 20%] 673s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[left] PASSED [ 20%] 673s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[left] PASSED [ 20%] 673s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[left] PASSED [ 20%] 673s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[left] PASSED [ 20%] 673s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[left] PASSED [ 20%] 675s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[left] PASSED [ 20%] 675s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-previous] PASSED [ 20%] 675s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 20%] 675s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-previous] PASSED [ 20%] 675s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 20%] 675s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-previous] PASSED [ 20%] 675s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 20%] 675s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-next] PASSED [ 20%] 675s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-next] PASSED [ 20%] 675s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[right] PASSED [ 20%] 675s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[right] PASSED [ 20%] 675s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[right] PASSED [ 20%] 675s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[right] PASSED [ 20%] 675s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[right] PASSED [ 20%] 675s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[right] PASSED [ 20%] 675s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[right] PASSED [ 20%] 675s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[right] PASSED [ 20%] 676s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[right] PASSED [ 20%] 677s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[right] PASSED [ 20%] 677s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-none] PASSED [ 20%] 677s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-none] PASSED [ 20%] 677s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-none] PASSED [ 20%] 677s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-none] PASSED [ 20%] 677s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-none] PASSED [ 20%] 677s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-none] PASSED [ 20%] 677s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-none] PASSED [ 20%] 677s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 20%] 677s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-previous] PASSED [ 20%] 677s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 20%] 677s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-next] PASSED [ 20%] 677s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 20%] 677s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[neither] PASSED [ 20%] 677s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[neither] PASSED [ 20%] 677s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[neither] PASSED [ 20%] 678s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[neither] PASSED [ 20%] 678s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[neither] PASSED [ 20%] 678s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[neither] PASSED [ 20%] 678s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[neither] PASSED [ 20%] 678s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[neither] PASSED [ 20%] 678s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[neither] PASSED [ 20%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[neither] PASSED [ 20%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[neither] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[neither] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[neither] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[neither] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[neither] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[neither] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[neither] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[neither] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[neither] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[neither] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[right] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[right] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[right] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[right] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[right] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[right] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[right] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[right] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[right] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[right] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[left] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[left] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[left] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[left] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[left] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[left] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[left] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[left] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[left] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[left] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[both] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[both] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[both] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[both] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[both] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[both] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[both] PASSED [ 21%] 679s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[both] PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[both] PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[both] PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_has_break PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_regular_holidays_sample PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_adhoc_holidays_sample PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_holidays_sample PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_late_opens_sample PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_sample PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_sample_time PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_weekdays PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_weekdays_time PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_early_closes_sample PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_early_closes_sample_time PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_late_opens PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_open_close_break_start_end PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_has_break PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_next_prev_session PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_offset PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_session PASSED [ 21%] 680s tests/test_xbru_calendar.py::TestXBRUCalendar::test_date_to_session PASSED [ 21%] 682s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_open_close PASSED [ 21%] 682s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_in_range PASSED [ 21%] 682s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_has_break PASSED [ 21%] 682s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_window PASSED [ 21%] 682s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_distance PASSED [ 21%] 683s tests/test_xbru_calendar.py::TestXBRUCalendar::test_trading_index PASSED [ 21%] 683s tests/test_xbru_calendar.py::TestXBRUCalendar::test_deprecated PASSED [ 21%] 683s tests/test_xbse_calendar.py::TestXBSECalendar::test_testbase_integrity PASSED [ 21%] 683s tests/test_xbse_calendar.py::TestXBSECalendar::test_base_integrity PASSED [ 21%] 686s tests/test_xbse_calendar.py::TestXBSECalendar::test_calculated_against_csv PASSED [ 21%] 686s tests/test_xbse_calendar.py::TestXBSECalendar::test_start_end PASSED [ 21%] 686s tests/test_xbse_calendar.py::TestXBSECalendar::test_invalid_input PASSED [ 21%] 688s tests/test_xbse_calendar.py::TestXBSECalendar::test_bound_min PASSED [ 21%] 689s tests/test_xbse_calendar.py::TestXBSECalendar::test_bound_max PASSED [ 21%] 689s tests/test_xbse_calendar.py::TestXBSECalendar::test_sanity_check_session_lengths PASSED [ 21%] 689s tests/test_xbse_calendar.py::TestXBSECalendar::test_adhoc_holidays_specification PASSED [ 21%] 689s tests/test_xbse_calendar.py::TestXBSECalendar::test_daylight_savings PASSED [ 21%] 689s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions PASSED [ 21%] 689s tests/test_xbse_calendar.py::TestXBSECalendar::test_opens_closes_break_starts_ends PASSED [ 21%] 689s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[both] PASSED [ 21%] 689s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[both] PASSED [ 21%] 689s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[both] PASSED [ 21%] 689s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[both] PASSED [ 21%] 689s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[both] PASSED [ 22%] 689s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[both] PASSED [ 22%] 689s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[both] PASSED [ 22%] 689s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[both] PASSED [ 22%] 690s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[both] PASSED [ 22%] 691s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[both] PASSED [ 22%] 691s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-next] PASSED [ 22%] 691s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 22%] 691s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-next] PASSED [ 22%] 691s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 22%] 691s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[left] PASSED [ 22%] 692s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[left] PASSED [ 22%] 692s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[left] PASSED [ 22%] 692s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[left] PASSED [ 22%] 692s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[left] PASSED [ 22%] 692s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[left] PASSED [ 22%] 692s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[left] PASSED [ 22%] 692s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[left] PASSED [ 22%] 692s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[left] PASSED [ 22%] 694s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[left] PASSED [ 22%] 694s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-previous] PASSED [ 22%] 694s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 22%] 694s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-previous] PASSED [ 22%] 694s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 22%] 694s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-previous] PASSED [ 22%] 694s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 22%] 694s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-next] PASSED [ 22%] 694s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 22%] 694s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[right] PASSED [ 22%] 694s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[right] PASSED [ 22%] 694s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[right] PASSED [ 22%] 694s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[right] PASSED [ 22%] 694s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[right] PASSED [ 22%] 694s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[right] PASSED [ 22%] 694s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[right] PASSED [ 22%] 694s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[right] PASSED [ 22%] 695s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[right] PASSED [ 22%] 696s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[right] PASSED [ 22%] 696s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-none] PASSED [ 22%] 696s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 22%] 696s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-none] PASSED [ 22%] 696s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 22%] 696s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-none] PASSED [ 22%] 696s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 22%] 697s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-none] PASSED [ 22%] 697s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 22%] 697s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-previous] PASSED [ 22%] 697s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 22%] 697s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-next] PASSED [ 22%] 697s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 22%] 697s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[neither] PASSED [ 22%] 697s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[neither] PASSED [ 22%] 697s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[neither] PASSED [ 22%] 697s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[neither] PASSED [ 22%] 697s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[neither] PASSED [ 22%] 697s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[neither] PASSED [ 22%] 697s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[neither] PASSED [ 22%] 697s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[neither] PASSED [ 22%] 697s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[neither] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[neither] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[neither] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[neither] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[neither] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[neither] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[neither] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[neither] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[neither] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[neither] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[neither] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[right] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[right] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[right] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[right] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[right] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[right] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[right] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[right] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[right] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[right] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[left] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[left] PASSED [ 22%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[left] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[left] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[left] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[left] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[left] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[left] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[left] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[left] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[both] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[both] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[both] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[both] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[both] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[both] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[both] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[both] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[both] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[both] PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_has_break PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_regular_holidays_sample PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_adhoc_holidays_sample PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_holidays_sample PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_late_opens_sample PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_sample PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_sample_time PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_weekdays PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_weekdays_time PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_early_closes_sample PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_early_closes_sample_time PASSED [ 23%] 699s tests/test_xbse_calendar.py::TestXBSECalendar::test_late_opens PASSED [ 23%] 700s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes PASSED [ 23%] 700s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_open_close_break_start_end PASSED [ 23%] 700s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_has_break PASSED [ 23%] 700s tests/test_xbse_calendar.py::TestXBSECalendar::test_next_prev_session PASSED [ 23%] 700s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_offset PASSED [ 23%] 700s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_session PASSED [ 23%] 700s tests/test_xbse_calendar.py::TestXBSECalendar::test_date_to_session PASSED [ 23%] 703s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_open_close PASSED [ 23%] 703s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_in_range PASSED [ 23%] 703s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_has_break PASSED [ 23%] 703s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_window PASSED [ 23%] 703s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_distance PASSED [ 23%] 703s tests/test_xbse_calendar.py::TestXBSECalendar::test_trading_index PASSED [ 23%] 703s tests/test_xbse_calendar.py::TestXBSECalendar::test_deprecated PASSED [ 23%] 703s tests/test_xbud_calendar.py::TestXBUDCalendar::test_testbase_integrity PASSED [ 23%] 703s tests/test_xbud_calendar.py::TestXBUDCalendar::test_base_integrity PASSED [ 23%] 706s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calculated_against_csv PASSED [ 23%] 707s tests/test_xbud_calendar.py::TestXBUDCalendar::test_start_end PASSED [ 23%] 707s tests/test_xbud_calendar.py::TestXBUDCalendar::test_invalid_input PASSED [ 23%] 709s tests/test_xbud_calendar.py::TestXBUDCalendar::test_bound_min PASSED [ 23%] 710s tests/test_xbud_calendar.py::TestXBUDCalendar::test_bound_max PASSED [ 23%] 710s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sanity_check_session_lengths PASSED [ 23%] 710s tests/test_xbud_calendar.py::TestXBUDCalendar::test_adhoc_holidays_specification PASSED [ 23%] 710s tests/test_xbud_calendar.py::TestXBUDCalendar::test_daylight_savings PASSED [ 23%] 710s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions PASSED [ 23%] 710s tests/test_xbud_calendar.py::TestXBUDCalendar::test_opens_closes_break_starts_ends PASSED [ 23%] 710s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[both] PASSED [ 23%] 711s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[both] PASSED [ 23%] 711s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[both] PASSED [ 23%] 711s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[both] PASSED [ 23%] 711s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[both] PASSED [ 23%] 711s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[both] PASSED [ 23%] 711s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[both] PASSED [ 23%] 711s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[both] PASSED [ 23%] 711s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[both] PASSED [ 23%] 712s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[both] PASSED [ 23%] 712s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-next] PASSED [ 23%] 712s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-next] PASSED [ 23%] 712s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-next] PASSED [ 23%] 712s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-next] PASSED [ 23%] 712s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[left] PASSED [ 23%] 713s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[left] PASSED [ 23%] 713s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[left] PASSED [ 23%] 713s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[left] PASSED [ 23%] 713s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[left] PASSED [ 23%] 713s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[left] PASSED [ 23%] 713s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[left] PASSED [ 23%] 713s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[left] PASSED [ 23%] 713s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[left] PASSED [ 23%] 714s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[left] PASSED [ 23%] 714s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-previous] PASSED [ 23%] 714s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 23%] 714s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-previous] PASSED [ 24%] 714s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 24%] 715s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-previous] PASSED [ 24%] 715s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 24%] 715s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-next] PASSED [ 24%] 715s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-next] PASSED [ 24%] 715s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[right] PASSED [ 24%] 715s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[right] PASSED [ 24%] 715s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[right] PASSED [ 24%] 715s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[right] PASSED [ 24%] 715s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[right] PASSED [ 24%] 715s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[right] PASSED [ 24%] 715s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[right] PASSED [ 24%] 715s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[right] PASSED [ 24%] 715s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[right] PASSED [ 24%] 716s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[right] PASSED [ 24%] 716s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-none] PASSED [ 24%] 716s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-none] PASSED [ 24%] 716s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-none] PASSED [ 24%] 716s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-none] PASSED [ 24%] 716s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-none] PASSED [ 24%] 716s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-none] PASSED [ 24%] 717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-none] PASSED [ 24%] 717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 24%] 717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-previous] PASSED [ 24%] 717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 24%] 717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-next] PASSED [ 24%] 717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 24%] 717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[neither] PASSED [ 24%] 717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[neither] PASSED [ 24%] 717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[neither] PASSED [ 24%] 717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[neither] PASSED [ 24%] 717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[neither] PASSED [ 24%] 717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[neither] PASSED [ 24%] 717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[neither] PASSED [ 24%] 717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[neither] PASSED [ 24%] 717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[neither] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[neither] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[neither] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[neither] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[neither] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[neither] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[neither] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[neither] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[neither] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[neither] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[neither] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[neither] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[right] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[right] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[right] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[right] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[right] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[right] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[right] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[right] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[right] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[right] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[left] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[left] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[left] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[left] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[left] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[left] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[left] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[left] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[left] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[left] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[both] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[both] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[both] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[both] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[both] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[both] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[both] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[both] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[both] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[both] PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_has_break PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_regular_holidays_sample PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_adhoc_holidays_sample PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_holidays_sample PASSED [ 24%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_late_opens_sample PASSED [ 25%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_sample PASSED [ 25%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_sample_time PASSED [ 25%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_weekdays PASSED [ 25%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_weekdays_time PASSED [ 25%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_early_closes_sample PASSED [ 25%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_early_closes_sample_time PASSED [ 25%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_late_opens PASSED [ 25%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes PASSED [ 25%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_open_close_break_start_end PASSED [ 25%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_has_break PASSED [ 25%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_next_prev_session PASSED [ 25%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_offset PASSED [ 25%] 719s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_session PASSED [ 25%] 720s tests/test_xbud_calendar.py::TestXBUDCalendar::test_date_to_session PASSED [ 25%] 722s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_open_close PASSED [ 25%] 722s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_in_range PASSED [ 25%] 722s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_has_break PASSED [ 25%] 722s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_window PASSED [ 25%] 722s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_distance PASSED [ 25%] 722s tests/test_xbud_calendar.py::TestXBUDCalendar::test_trading_index PASSED [ 25%] 722s tests/test_xbud_calendar.py::TestXBUDCalendar::test_deprecated PASSED [ 25%] 722s tests/test_xbue_calendar.py::TestXBUECalendar::test_testbase_integrity PASSED [ 25%] 722s tests/test_xbue_calendar.py::TestXBUECalendar::test_base_integrity PASSED [ 25%] 726s tests/test_xbue_calendar.py::TestXBUECalendar::test_calculated_against_csv PASSED [ 25%] 726s tests/test_xbue_calendar.py::TestXBUECalendar::test_start_end PASSED [ 25%] 727s tests/test_xbue_calendar.py::TestXBUECalendar::test_invalid_input PASSED [ 25%] 729s tests/test_xbue_calendar.py::TestXBUECalendar::test_bound_min PASSED [ 25%] 729s tests/test_xbue_calendar.py::TestXBUECalendar::test_bound_max PASSED [ 25%] 729s tests/test_xbue_calendar.py::TestXBUECalendar::test_sanity_check_session_lengths PASSED [ 25%] 729s tests/test_xbue_calendar.py::TestXBUECalendar::test_adhoc_holidays_specification PASSED [ 25%] 729s tests/test_xbue_calendar.py::TestXBUECalendar::test_daylight_savings PASSED [ 25%] 729s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions PASSED [ 25%] 729s tests/test_xbue_calendar.py::TestXBUECalendar::test_opens_closes_break_starts_ends PASSED [ 25%] 730s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[both] PASSED [ 25%] 730s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[both] PASSED [ 25%] 730s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[both] PASSED [ 25%] 730s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[both] PASSED [ 25%] 730s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[both] PASSED [ 25%] 730s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[both] PASSED [ 25%] 730s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[both] PASSED [ 25%] 730s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[both] PASSED [ 25%] 730s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[both] PASSED [ 25%] 731s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[both] PASSED [ 25%] 731s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-next] PASSED [ 25%] 731s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-next] PASSED [ 25%] 732s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-next] PASSED [ 25%] 732s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-next] PASSED [ 25%] 732s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[left] PASSED [ 25%] 732s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[left] PASSED [ 25%] 732s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[left] PASSED [ 25%] 732s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[left] PASSED [ 25%] 732s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[left] PASSED [ 25%] 732s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[left] PASSED [ 25%] 732s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[left] PASSED [ 25%] 732s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[left] PASSED [ 25%] 732s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[left] PASSED [ 25%] 733s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[left] PASSED [ 25%] 733s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-previous] PASSED [ 25%] 733s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 25%] 733s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-previous] PASSED [ 25%] 733s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 25%] 734s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-previous] PASSED [ 25%] 734s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 25%] 734s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-next] PASSED [ 25%] 734s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-next] PASSED [ 25%] 734s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[right] PASSED [ 25%] 734s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[right] PASSED [ 25%] 734s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[right] PASSED [ 25%] 734s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[right] PASSED [ 25%] 734s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[right] PASSED [ 25%] 734s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[right] PASSED [ 25%] 734s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[right] PASSED [ 25%] 734s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[right] PASSED [ 25%] 734s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[right] PASSED [ 25%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[right] PASSED [ 25%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-none] PASSED [ 25%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-none] PASSED [ 25%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-none] PASSED [ 25%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-none] PASSED [ 25%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-none] PASSED [ 25%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-none] PASSED [ 25%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-none] PASSED [ 26%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 26%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-previous] PASSED [ 26%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 26%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-next] PASSED [ 26%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 26%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[neither] PASSED [ 26%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[neither] PASSED [ 26%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[neither] PASSED [ 26%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[neither] PASSED [ 26%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[neither] PASSED [ 26%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[neither] PASSED [ 26%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[neither] PASSED [ 26%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[neither] PASSED [ 26%] 736s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[neither] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[neither] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[neither] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[neither] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[neither] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[neither] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[neither] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[neither] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[neither] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[neither] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[neither] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[neither] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[right] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[right] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[right] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[right] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[right] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[right] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[right] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[right] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[right] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[right] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[left] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[left] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[left] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[left] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[left] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[left] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[left] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[left] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[left] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[left] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[both] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[both] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[both] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[both] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[both] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[both] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[both] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[both] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[both] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[both] PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_has_break PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_regular_holidays_sample PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_adhoc_holidays_sample PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_holidays_sample PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_late_opens_sample PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_sample PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_sample_time PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_weekdays PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_weekdays_time PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_early_closes_sample PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_early_closes_sample_time PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_late_opens PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_open_close_break_start_end PASSED [ 26%] 738s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_has_break PASSED [ 26%] 739s tests/test_xbue_calendar.py::TestXBUECalendar::test_next_prev_session PASSED [ 26%] 739s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_offset PASSED [ 26%] 739s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_session PASSED [ 26%] 739s tests/test_xbue_calendar.py::TestXBUECalendar::test_date_to_session PASSED [ 26%] 741s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_open_close PASSED [ 26%] 741s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_in_range PASSED [ 26%] 741s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_has_break PASSED [ 26%] 741s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_window PASSED [ 26%] 741s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_distance PASSED [ 26%] 741s tests/test_xbue_calendar.py::TestXBUECalendar::test_trading_index PASSED [ 26%] 741s tests/test_xbue_calendar.py::TestXBUECalendar::test_deprecated PASSED [ 26%] 741s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_testbase_integrity PASSED [ 27%] 741s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_base_integrity PASSED [ 27%] 745s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calculated_against_csv PASSED [ 27%] 745s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_start_end PASSED [ 27%] 745s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_invalid_input PASSED [ 27%] 747s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_bound_min PASSED [ 27%] 748s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_bound_max PASSED [ 27%] 748s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sanity_check_session_lengths PASSED [ 27%] 748s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_adhoc_holidays_specification PASSED [ 27%] 748s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_daylight_savings PASSED [ 27%] 748s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions PASSED [ 27%] 748s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_opens_closes_break_starts_ends PASSED [ 27%] 748s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[both] PASSED [ 27%] 749s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[both] PASSED [ 27%] 749s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[both] PASSED [ 27%] 749s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[both] PASSED [ 27%] 749s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[both] PASSED [ 27%] 749s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[both] PASSED [ 27%] 749s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[both] PASSED [ 27%] 749s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[both] PASSED [ 27%] 749s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[both] PASSED [ 27%] 750s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[both] PASSED [ 27%] 750s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-next] PASSED [ 27%] 750s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-next] PASSED [ 27%] 750s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-next] PASSED [ 27%] 750s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-next] PASSED [ 27%] 750s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[left] PASSED [ 27%] 751s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[left] PASSED [ 27%] 751s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[left] PASSED [ 27%] 751s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[left] PASSED [ 27%] 751s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[left] PASSED [ 27%] 751s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[left] PASSED [ 27%] 751s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[left] PASSED [ 27%] 751s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[left] PASSED [ 27%] 751s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[left] PASSED [ 27%] 752s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[left] PASSED [ 27%] 753s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-previous] PASSED [ 27%] 753s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 27%] 753s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-previous] PASSED [ 27%] 753s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 27%] 753s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-previous] PASSED [ 27%] 753s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 27%] 753s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-next] PASSED [ 27%] 753s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-next] PASSED [ 27%] 753s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[right] PASSED [ 27%] 753s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[right] PASSED [ 27%] 753s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[right] PASSED [ 27%] 753s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[right] PASSED [ 27%] 753s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[right] PASSED [ 27%] 753s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[right] PASSED [ 27%] 753s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[right] PASSED [ 27%] 753s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[right] PASSED [ 27%] 753s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[right] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[right] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-none] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-none] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-none] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-none] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-none] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-none] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-none] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-previous] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-next] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[neither] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[neither] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[neither] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[neither] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[neither] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[neither] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[neither] PASSED [ 27%] 755s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[neither] PASSED [ 27%] 756s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[neither] PASSED [ 27%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[neither] PASSED [ 27%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[neither] PASSED [ 27%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[neither] PASSED [ 27%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[neither] PASSED [ 27%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[neither] PASSED [ 27%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[neither] PASSED [ 27%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[neither] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[neither] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[neither] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[neither] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[neither] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[right] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[right] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[right] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[right] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[right] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[right] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[right] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[right] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[right] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[right] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[left] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[left] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[left] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[left] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[left] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[left] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[left] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[left] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[left] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[left] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[both] PASSED [ 28%] 757s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[both] PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[both] PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[both] PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[both] PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[both] PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[both] PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[both] PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[both] PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[both] PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_has_break PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_regular_holidays_sample PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_adhoc_holidays_sample PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_holidays_sample PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_late_opens_sample PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_sample PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_sample_time PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_weekdays PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_weekdays_time PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_early_closes_sample PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_early_closes_sample_time PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_late_opens PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_open_close_break_start_end PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_has_break PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_next_prev_session PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_offset PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_session PASSED [ 28%] 758s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_date_to_session PASSED [ 28%] 761s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_open_close PASSED [ 28%] 761s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_in_range PASSED [ 28%] 761s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_has_break PASSED [ 28%] 761s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_window PASSED [ 28%] 761s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_distance PASSED [ 28%] 761s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_trading_index PASSED [ 28%] 761s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_deprecated PASSED [ 28%] 761s tests/test_xcse_calendar.py::TestXCSECalendar::test_testbase_integrity PASSED [ 28%] 761s tests/test_xcse_calendar.py::TestXCSECalendar::test_base_integrity PASSED [ 28%] 765s tests/test_xcse_calendar.py::TestXCSECalendar::test_calculated_against_csv PASSED [ 28%] 765s tests/test_xcse_calendar.py::TestXCSECalendar::test_start_end PASSED [ 28%] 765s tests/test_xcse_calendar.py::TestXCSECalendar::test_invalid_input PASSED [ 28%] 767s tests/test_xcse_calendar.py::TestXCSECalendar::test_bound_min PASSED [ 28%] 768s tests/test_xcse_calendar.py::TestXCSECalendar::test_bound_max PASSED [ 28%] 768s tests/test_xcse_calendar.py::TestXCSECalendar::test_sanity_check_session_lengths PASSED [ 28%] 768s tests/test_xcse_calendar.py::TestXCSECalendar::test_adhoc_holidays_specification PASSED [ 28%] 768s tests/test_xcse_calendar.py::TestXCSECalendar::test_daylight_savings PASSED [ 28%] 768s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions PASSED [ 28%] 768s tests/test_xcse_calendar.py::TestXCSECalendar::test_opens_closes_break_starts_ends PASSED [ 28%] 768s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[both] PASSED [ 28%] 768s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[both] PASSED [ 28%] 768s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[both] PASSED [ 28%] 768s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[both] PASSED [ 28%] 769s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[both] PASSED [ 28%] 769s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[both] PASSED [ 28%] 769s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[both] PASSED [ 28%] 769s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[both] PASSED [ 28%] 769s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[both] PASSED [ 28%] 770s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[both] PASSED [ 29%] 770s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-next] PASSED [ 29%] 770s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 29%] 770s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-next] PASSED [ 29%] 770s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 29%] 770s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[left] PASSED [ 29%] 771s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[left] PASSED [ 29%] 771s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[left] PASSED [ 29%] 771s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[left] PASSED [ 29%] 771s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[left] PASSED [ 29%] 771s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[left] PASSED [ 29%] 771s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[left] PASSED [ 29%] 771s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[left] PASSED [ 29%] 771s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[left] PASSED [ 29%] 773s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[left] PASSED [ 29%] 773s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-previous] PASSED [ 29%] 773s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 29%] 773s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-previous] PASSED [ 29%] 773s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 29%] 773s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-previous] PASSED [ 29%] 773s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 29%] 773s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-next] PASSED [ 29%] 773s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 29%] 773s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[right] PASSED [ 29%] 773s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[right] PASSED [ 29%] 773s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[right] PASSED [ 29%] 773s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[right] PASSED [ 29%] 773s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[right] PASSED [ 29%] 773s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[right] PASSED [ 29%] 773s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[right] PASSED [ 29%] 773s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[right] PASSED [ 29%] 774s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[right] PASSED [ 29%] 775s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[right] PASSED [ 29%] 775s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-none] PASSED [ 29%] 775s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 29%] 775s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-none] PASSED [ 29%] 775s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 29%] 775s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-none] PASSED [ 29%] 775s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 29%] 775s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-none] PASSED [ 29%] 775s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 29%] 775s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-previous] PASSED [ 29%] 775s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 29%] 775s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-next] PASSED [ 29%] 775s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 29%] 775s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[neither] PASSED [ 29%] 776s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[neither] PASSED [ 29%] 776s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[neither] PASSED [ 29%] 776s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[neither] PASSED [ 29%] 776s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[neither] PASSED [ 29%] 776s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[neither] PASSED [ 29%] 776s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[neither] PASSED [ 29%] 776s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[neither] PASSED [ 29%] 776s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[neither] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[neither] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[neither] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[neither] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[neither] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[neither] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[neither] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[neither] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[neither] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[neither] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[neither] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[right] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[right] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[right] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[right] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[right] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[right] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[right] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[right] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[right] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[right] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[left] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[left] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[left] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[left] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[left] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[left] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[left] PASSED [ 29%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[left] PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[left] PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[left] PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[both] PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[both] PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[both] PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[both] PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[both] PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[both] PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[both] PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[both] PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[both] PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[both] PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_has_break PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_regular_holidays_sample PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_adhoc_holidays_sample PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_holidays_sample PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_late_opens_sample PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_sample PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_sample_time PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_weekdays PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_weekdays_time PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_early_closes_sample PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_early_closes_sample_time PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_late_opens PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_open_close_break_start_end PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_has_break PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_next_prev_session PASSED [ 30%] 778s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_offset PASSED [ 30%] 779s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_session PASSED [ 30%] 779s tests/test_xcse_calendar.py::TestXCSECalendar::test_date_to_session PASSED [ 30%] 782s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_open_close PASSED [ 30%] 782s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_in_range PASSED [ 30%] 782s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_has_break PASSED [ 30%] 782s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_window PASSED [ 30%] 782s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_distance PASSED [ 30%] 782s tests/test_xcse_calendar.py::TestXCSECalendar::test_trading_index PASSED [ 30%] 782s tests/test_xcse_calendar.py::TestXCSECalendar::test_deprecated PASSED [ 30%] 782s tests/test_xdub_calendar.py::TestXDUBCalendar::test_testbase_integrity PASSED [ 30%] 782s tests/test_xdub_calendar.py::TestXDUBCalendar::test_base_integrity PASSED [ 30%] 785s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calculated_against_csv PASSED [ 30%] 785s tests/test_xdub_calendar.py::TestXDUBCalendar::test_start_end PASSED [ 30%] 785s tests/test_xdub_calendar.py::TestXDUBCalendar::test_invalid_input PASSED [ 30%] 787s tests/test_xdub_calendar.py::TestXDUBCalendar::test_bound_min PASSED [ 30%] 788s tests/test_xdub_calendar.py::TestXDUBCalendar::test_bound_max PASSED [ 30%] 788s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sanity_check_session_lengths PASSED [ 30%] 788s tests/test_xdub_calendar.py::TestXDUBCalendar::test_adhoc_holidays_specification PASSED [ 30%] 788s tests/test_xdub_calendar.py::TestXDUBCalendar::test_daylight_savings PASSED [ 30%] 788s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions PASSED [ 30%] 788s tests/test_xdub_calendar.py::TestXDUBCalendar::test_opens_closes_break_starts_ends PASSED [ 30%] 788s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[both] PASSED [ 30%] 788s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[both] PASSED [ 30%] 788s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[both] PASSED [ 30%] 788s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[both] PASSED [ 30%] 788s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[both] PASSED [ 30%] 788s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[both] PASSED [ 30%] 789s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[both] PASSED [ 30%] 789s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[both] PASSED [ 30%] 789s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[both] PASSED [ 30%] 790s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[both] PASSED [ 30%] 790s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-next] PASSED [ 30%] 790s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-next] PASSED [ 30%] 790s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-next] PASSED [ 30%] 790s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-next] PASSED [ 30%] 790s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[left] PASSED [ 30%] 791s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[left] PASSED [ 30%] 791s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[left] PASSED [ 30%] 791s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[left] PASSED [ 30%] 791s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[left] PASSED [ 30%] 791s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[left] PASSED [ 30%] 791s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[left] PASSED [ 30%] 791s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[left] PASSED [ 30%] 791s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[left] PASSED [ 30%] 792s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[left] PASSED [ 30%] 792s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-previous] PASSED [ 30%] 792s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 30%] 792s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-previous] PASSED [ 30%] 792s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 30%] 792s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-previous] PASSED [ 30%] 792s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 30%] 792s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-next] PASSED [ 30%] 792s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-next] PASSED [ 31%] 792s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[right] PASSED [ 31%] 793s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[right] PASSED [ 31%] 793s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[right] PASSED [ 31%] 793s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[right] PASSED [ 31%] 793s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[right] PASSED [ 31%] 793s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[right] PASSED [ 31%] 793s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[right] PASSED [ 31%] 793s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[right] PASSED [ 31%] 793s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[right] PASSED [ 31%] 794s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[right] PASSED [ 31%] 794s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-none] PASSED [ 31%] 794s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-none] PASSED [ 31%] 794s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-none] PASSED [ 31%] 794s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-none] PASSED [ 31%] 794s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-none] PASSED [ 31%] 794s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-none] PASSED [ 31%] 795s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-none] PASSED [ 31%] 795s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 31%] 795s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-previous] PASSED [ 31%] 795s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 31%] 795s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-next] PASSED [ 31%] 795s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 31%] 795s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[neither] PASSED [ 31%] 795s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[neither] PASSED [ 31%] 795s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[neither] PASSED [ 31%] 795s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[neither] PASSED [ 31%] 795s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[neither] PASSED [ 31%] 795s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[neither] PASSED [ 31%] 795s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[neither] PASSED [ 31%] 795s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[neither] PASSED [ 31%] 795s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[neither] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[neither] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[neither] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[neither] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[neither] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[neither] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[neither] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[neither] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[neither] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[neither] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[neither] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[neither] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[right] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[right] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[right] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[right] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[right] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[right] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[right] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[right] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[right] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[right] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[left] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[left] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[left] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[left] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[left] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[left] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[left] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[left] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[left] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[left] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[both] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[both] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[both] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[both] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[both] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[both] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[both] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[both] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[both] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[both] PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_has_break PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_regular_holidays_sample PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_adhoc_holidays_sample PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_holidays_sample PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_late_opens_sample PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_sample PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_sample_time PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_weekdays PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_weekdays_time PASSED [ 31%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_early_closes_sample PASSED [ 32%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_early_closes_sample_time PASSED [ 32%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_late_opens PASSED [ 32%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes PASSED [ 32%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_open_close_break_start_end PASSED [ 32%] 797s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_has_break PASSED [ 32%] 798s tests/test_xdub_calendar.py::TestXDUBCalendar::test_next_prev_session PASSED [ 32%] 798s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_offset PASSED [ 32%] 798s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_session PASSED [ 32%] 798s tests/test_xdub_calendar.py::TestXDUBCalendar::test_date_to_session PASSED [ 32%] 800s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_open_close PASSED [ 32%] 800s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_in_range PASSED [ 32%] 800s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_has_break PASSED [ 32%] 800s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_window PASSED [ 32%] 800s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_distance PASSED [ 32%] 801s tests/test_xdub_calendar.py::TestXDUBCalendar::test_trading_index PASSED [ 32%] 801s tests/test_xdub_calendar.py::TestXDUBCalendar::test_deprecated PASSED [ 32%] 801s tests/test_xdus_calendar.py::TestXDUSCalendar::test_testbase_integrity PASSED [ 32%] 801s tests/test_xdus_calendar.py::TestXDUSCalendar::test_base_integrity PASSED [ 32%] 804s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calculated_against_csv PASSED [ 32%] 804s tests/test_xdus_calendar.py::TestXDUSCalendar::test_start_end PASSED [ 32%] 804s tests/test_xdus_calendar.py::TestXDUSCalendar::test_invalid_input PASSED [ 32%] 806s tests/test_xdus_calendar.py::TestXDUSCalendar::test_bound_min PASSED [ 32%] 807s tests/test_xdus_calendar.py::TestXDUSCalendar::test_bound_max PASSED [ 32%] 807s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sanity_check_session_lengths PASSED [ 32%] 807s tests/test_xdus_calendar.py::TestXDUSCalendar::test_adhoc_holidays_specification PASSED [ 32%] 807s tests/test_xdus_calendar.py::TestXDUSCalendar::test_daylight_savings PASSED [ 32%] 807s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions PASSED [ 32%] 807s tests/test_xdus_calendar.py::TestXDUSCalendar::test_opens_closes_break_starts_ends PASSED [ 32%] 807s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[both] PASSED [ 32%] 807s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[both] PASSED [ 32%] 807s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[both] PASSED [ 32%] 807s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[both] PASSED [ 32%] 807s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[both] PASSED [ 32%] 807s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[both] PASSED [ 32%] 808s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[both] PASSED [ 32%] 808s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[both] PASSED [ 32%] 808s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[both] PASSED [ 32%] 809s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[both] PASSED [ 32%] 809s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-next] PASSED [ 32%] 809s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 32%] 809s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-next] PASSED [ 32%] 809s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 32%] 809s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[left] PASSED [ 32%] 810s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[left] PASSED [ 32%] 810s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[left] PASSED [ 32%] 810s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[left] PASSED [ 32%] 810s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[left] PASSED [ 32%] 810s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[left] PASSED [ 32%] 810s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[left] PASSED [ 32%] 810s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[left] PASSED [ 32%] 810s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[left] PASSED [ 32%] 812s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[left] PASSED [ 32%] 812s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-previous] PASSED [ 32%] 812s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 32%] 812s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-previous] PASSED [ 32%] 812s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 32%] 812s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-previous] PASSED [ 32%] 812s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 32%] 812s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-next] PASSED [ 32%] 812s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 32%] 812s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[right] PASSED [ 32%] 813s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[right] PASSED [ 32%] 813s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[right] PASSED [ 32%] 813s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[right] PASSED [ 32%] 813s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[right] PASSED [ 32%] 813s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[right] PASSED [ 32%] 813s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[right] PASSED [ 32%] 813s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[right] PASSED [ 32%] 813s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[right] PASSED [ 32%] 815s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[right] PASSED [ 32%] 815s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-none] PASSED [ 32%] 815s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 32%] 815s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-none] PASSED [ 32%] 815s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 32%] 815s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-none] PASSED [ 32%] 815s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 32%] 815s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-none] PASSED [ 32%] 815s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 32%] 815s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-previous] PASSED [ 32%] 815s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 32%] 815s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-next] PASSED [ 32%] 815s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 33%] 815s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[neither] PASSED [ 33%] 816s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[neither] PASSED [ 33%] 816s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[neither] PASSED [ 33%] 816s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[neither] PASSED [ 33%] 816s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[neither] PASSED [ 33%] 816s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[neither] PASSED [ 33%] 816s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[neither] PASSED [ 33%] 816s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[neither] PASSED [ 33%] 816s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[neither] PASSED [ 33%] 817s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[neither] PASSED [ 33%] 817s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[neither] PASSED [ 33%] 817s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[neither] PASSED [ 33%] 817s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[neither] PASSED [ 33%] 817s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 33%] 817s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[neither] PASSED [ 33%] 817s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[neither] PASSED [ 33%] 817s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[neither] PASSED [ 33%] 817s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[neither] PASSED [ 33%] 817s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[neither] PASSED [ 33%] 817s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[neither] PASSED [ 33%] 817s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[right] PASSED [ 33%] 817s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[right] PASSED [ 33%] 817s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[right] PASSED [ 33%] 817s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[right] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[right] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[right] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[right] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[right] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[right] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[right] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[left] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[left] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[left] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[left] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[left] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[left] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[left] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[left] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[left] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[left] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[both] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[both] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[both] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[both] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[both] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[both] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[both] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[both] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[both] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[both] PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_has_break PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_regular_holidays_sample PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_adhoc_holidays_sample PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_holidays_sample PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_late_opens_sample PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_sample PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_sample_time PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_weekdays PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_weekdays_time PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_early_closes_sample PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_early_closes_sample_time PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_late_opens PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_open_close_break_start_end PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_has_break PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_next_prev_session PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_offset PASSED [ 33%] 818s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_session PASSED [ 33%] 819s tests/test_xdus_calendar.py::TestXDUSCalendar::test_date_to_session PASSED [ 33%] 821s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_open_close PASSED [ 33%] 821s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_in_range PASSED [ 33%] 821s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_has_break PASSED [ 33%] 821s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_window PASSED [ 33%] 821s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_distance PASSED [ 33%] 821s tests/test_xdus_calendar.py::TestXDUSCalendar::test_trading_index PASSED [ 33%] 821s tests/test_xdus_calendar.py::TestXDUSCalendar::test_deprecated PASSED [ 33%] 821s tests/test_xeee_calendar.py::TestXEEECalendar::test_testbase_integrity PASSED [ 33%] 821s tests/test_xeee_calendar.py::TestXEEECalendar::test_base_integrity PASSED [ 33%] 824s tests/test_xeee_calendar.py::TestXEEECalendar::test_calculated_against_csv PASSED [ 33%] 825s tests/test_xeee_calendar.py::TestXEEECalendar::test_start_end PASSED [ 33%] 825s tests/test_xeee_calendar.py::TestXEEECalendar::test_invalid_input PASSED [ 33%] 827s tests/test_xeee_calendar.py::TestXEEECalendar::test_bound_min PASSED [ 34%] 827s tests/test_xeee_calendar.py::TestXEEECalendar::test_bound_max PASSED [ 34%] 827s tests/test_xeee_calendar.py::TestXEEECalendar::test_sanity_check_session_lengths PASSED [ 34%] 827s tests/test_xeee_calendar.py::TestXEEECalendar::test_adhoc_holidays_specification PASSED [ 34%] 827s tests/test_xeee_calendar.py::TestXEEECalendar::test_daylight_savings PASSED [ 34%] 827s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions PASSED [ 34%] 827s tests/test_xeee_calendar.py::TestXEEECalendar::test_opens_closes_break_starts_ends PASSED [ 34%] 828s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[both] PASSED [ 34%] 828s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[both] PASSED [ 34%] 828s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[both] PASSED [ 34%] 828s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[both] PASSED [ 34%] 828s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[both] PASSED [ 34%] 828s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[both] PASSED [ 34%] 828s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[both] PASSED [ 34%] 828s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[both] PASSED [ 34%] 828s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[both] PASSED [ 34%] 830s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[both] PASSED [ 34%] 830s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-next] PASSED [ 34%] 830s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-next] PASSED [ 34%] 830s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-next] PASSED [ 34%] 830s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-next] PASSED [ 34%] 830s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[left] PASSED [ 34%] 831s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[left] PASSED [ 34%] 831s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[left] PASSED [ 34%] 831s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[left] PASSED [ 34%] 831s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[left] PASSED [ 34%] 831s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[left] PASSED [ 34%] 831s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[left] PASSED [ 34%] 831s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[left] PASSED [ 34%] 831s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[left] PASSED [ 34%] 832s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[left] PASSED [ 34%] 832s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-previous] PASSED [ 34%] 832s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 34%] 832s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-previous] PASSED [ 34%] 832s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 34%] 833s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-previous] PASSED [ 34%] 833s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 34%] 833s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-next] PASSED [ 34%] 833s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-next] PASSED [ 34%] 833s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[right] PASSED [ 34%] 833s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[right] PASSED [ 34%] 833s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[right] PASSED [ 34%] 833s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[right] PASSED [ 34%] 833s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[right] PASSED [ 34%] 833s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[right] PASSED [ 34%] 833s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[right] PASSED [ 34%] 833s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[right] PASSED [ 34%] 834s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[right] PASSED [ 34%] 835s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[right] PASSED [ 34%] 835s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-none] PASSED [ 34%] 835s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-none] PASSED [ 34%] 835s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-none] PASSED [ 34%] 835s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-none] PASSED [ 34%] 835s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-none] PASSED [ 34%] 835s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-none] PASSED [ 34%] 835s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-none] PASSED [ 34%] 835s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 34%] 835s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-previous] PASSED [ 34%] 835s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 34%] 835s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-next] PASSED [ 34%] 835s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 34%] 835s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[neither] PASSED [ 34%] 836s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[neither] PASSED [ 34%] 836s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[neither] PASSED [ 34%] 836s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[neither] PASSED [ 34%] 836s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[neither] PASSED [ 34%] 836s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[neither] PASSED [ 34%] 836s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[neither] PASSED [ 34%] 836s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[neither] PASSED [ 34%] 836s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[neither] PASSED [ 34%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[neither] PASSED [ 34%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[neither] PASSED [ 34%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[neither] PASSED [ 34%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[neither] PASSED [ 34%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[neither] PASSED [ 34%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[neither] PASSED [ 34%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[neither] PASSED [ 34%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[neither] PASSED [ 34%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[neither] PASSED [ 34%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[neither] PASSED [ 34%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[neither] PASSED [ 34%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[right] PASSED [ 34%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[right] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[right] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[right] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[right] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[right] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[right] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[right] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[right] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[right] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[left] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[left] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[left] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[left] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[left] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[left] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[left] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[left] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[left] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[left] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[both] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[both] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[both] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[both] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[both] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[both] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[both] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[both] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[both] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[both] PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_has_break PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_regular_holidays_sample PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_adhoc_holidays_sample PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_holidays_sample PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_late_opens_sample PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_sample PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_sample_time PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_weekdays PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_weekdays_time PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_early_closes_sample PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_early_closes_sample_time PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_late_opens PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_open_close_break_start_end PASSED [ 35%] 838s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_has_break PASSED [ 35%] 839s tests/test_xeee_calendar.py::TestXEEECalendar::test_next_prev_session PASSED [ 35%] 839s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_offset PASSED [ 35%] 839s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_session PASSED [ 35%] 839s tests/test_xeee_calendar.py::TestXEEECalendar::test_date_to_session PASSED [ 35%] 842s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_open_close PASSED [ 35%] 842s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_in_range PASSED [ 35%] 842s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_has_break PASSED [ 35%] 842s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_window PASSED [ 35%] 842s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_distance PASSED [ 35%] 842s tests/test_xeee_calendar.py::TestXEEECalendar::test_trading_index PASSED [ 35%] 842s tests/test_xeee_calendar.py::TestXEEECalendar::test_deprecated PASSED [ 35%] 842s tests/test_xetr_calendar.py::TestXETRCalendar::test_testbase_integrity PASSED [ 35%] 842s tests/test_xetr_calendar.py::TestXETRCalendar::test_base_integrity PASSED [ 35%] 845s tests/test_xetr_calendar.py::TestXETRCalendar::test_calculated_against_csv PASSED [ 35%] 845s tests/test_xetr_calendar.py::TestXETRCalendar::test_start_end PASSED [ 35%] 845s tests/test_xetr_calendar.py::TestXETRCalendar::test_invalid_input PASSED [ 35%] 847s tests/test_xetr_calendar.py::TestXETRCalendar::test_bound_min PASSED [ 35%] 848s tests/test_xetr_calendar.py::TestXETRCalendar::test_bound_max PASSED [ 35%] 848s tests/test_xetr_calendar.py::TestXETRCalendar::test_sanity_check_session_lengths PASSED [ 35%] 848s tests/test_xetr_calendar.py::TestXETRCalendar::test_adhoc_holidays_specification PASSED [ 35%] 848s tests/test_xetr_calendar.py::TestXETRCalendar::test_daylight_savings PASSED [ 35%] 848s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions PASSED [ 35%] 848s tests/test_xetr_calendar.py::TestXETRCalendar::test_opens_closes_break_starts_ends PASSED [ 35%] 848s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[both] PASSED [ 35%] 849s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[both] PASSED [ 35%] 849s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[both] PASSED [ 35%] 849s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[both] PASSED [ 35%] 849s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[both] PASSED [ 35%] 849s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[both] PASSED [ 35%] 849s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[both] PASSED [ 35%] 849s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[both] PASSED [ 35%] 849s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[both] PASSED [ 35%] 850s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[both] PASSED [ 35%] 850s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-next] PASSED [ 35%] 850s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-next] PASSED [ 35%] 850s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-next] PASSED [ 35%] 850s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-next] PASSED [ 35%] 850s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[left] PASSED [ 35%] 851s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[left] PASSED [ 36%] 851s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[left] PASSED [ 36%] 851s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[left] PASSED [ 36%] 851s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[left] PASSED [ 36%] 851s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[left] PASSED [ 36%] 851s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[left] PASSED [ 36%] 851s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[left] PASSED [ 36%] 851s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[left] PASSED [ 36%] 853s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[left] PASSED [ 36%] 853s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-previous] PASSED [ 36%] 853s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 36%] 853s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-previous] PASSED [ 36%] 853s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 36%] 853s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-previous] PASSED [ 36%] 853s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 36%] 853s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-next] PASSED [ 36%] 853s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-next] PASSED [ 36%] 853s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[right] PASSED [ 36%] 853s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[right] PASSED [ 36%] 853s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[right] PASSED [ 36%] 853s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[right] PASSED [ 36%] 853s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[right] PASSED [ 36%] 853s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[right] PASSED [ 36%] 853s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[right] PASSED [ 36%] 853s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[right] PASSED [ 36%] 854s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[right] PASSED [ 36%] 855s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[right] PASSED [ 36%] 855s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-none] PASSED [ 36%] 855s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-none] PASSED [ 36%] 855s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-none] PASSED [ 36%] 855s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-none] PASSED [ 36%] 855s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-none] PASSED [ 36%] 855s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-none] PASSED [ 36%] 855s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-none] PASSED [ 36%] 855s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 36%] 855s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-previous] PASSED [ 36%] 855s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 36%] 855s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-next] PASSED [ 36%] 855s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 36%] 855s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[neither] PASSED [ 36%] 856s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[neither] PASSED [ 36%] 856s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[neither] PASSED [ 36%] 856s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[neither] PASSED [ 36%] 856s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[neither] PASSED [ 36%] 856s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[neither] PASSED [ 36%] 856s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[neither] PASSED [ 36%] 856s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[neither] PASSED [ 36%] 856s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[neither] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[neither] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[neither] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[neither] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[neither] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[neither] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[neither] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[neither] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[neither] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[neither] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[neither] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[neither] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[right] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[right] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[right] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[right] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[right] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[right] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[right] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[right] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[right] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[right] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[left] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[left] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[left] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[left] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[left] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[left] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[left] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[left] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[left] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[left] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[both] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[both] PASSED [ 36%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[both] PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[both] PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[both] PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[both] PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[both] PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[both] PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[both] PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[both] PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_has_break PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_regular_holidays_sample PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_adhoc_holidays_sample PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_holidays_sample PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_late_opens_sample PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_sample PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_sample_time PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_weekdays PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_weekdays_time PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_early_closes_sample PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_early_closes_sample_time PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_late_opens PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_open_close_break_start_end PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_has_break PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_next_prev_session PASSED [ 37%] 858s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_offset PASSED [ 37%] 859s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_session PASSED [ 37%] 859s tests/test_xetr_calendar.py::TestXETRCalendar::test_date_to_session PASSED [ 37%] 861s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_open_close PASSED [ 37%] 861s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_in_range PASSED [ 37%] 861s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_has_break PASSED [ 37%] 861s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_window PASSED [ 37%] 861s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_distance PASSED [ 37%] 862s tests/test_xetr_calendar.py::TestXETRCalendar::test_trading_index PASSED [ 37%] 862s tests/test_xetr_calendar.py::TestXETRCalendar::test_deprecated PASSED [ 37%] 862s tests/test_xfra_calendar.py::TestXFRACalendar::test_testbase_integrity PASSED [ 37%] 862s tests/test_xfra_calendar.py::TestXFRACalendar::test_base_integrity PASSED [ 37%] 865s tests/test_xfra_calendar.py::TestXFRACalendar::test_calculated_against_csv PASSED [ 37%] 865s tests/test_xfra_calendar.py::TestXFRACalendar::test_start_end PASSED [ 37%] 865s tests/test_xfra_calendar.py::TestXFRACalendar::test_invalid_input PASSED [ 37%] 867s tests/test_xfra_calendar.py::TestXFRACalendar::test_bound_min PASSED [ 37%] 868s tests/test_xfra_calendar.py::TestXFRACalendar::test_bound_max PASSED [ 37%] 868s tests/test_xfra_calendar.py::TestXFRACalendar::test_sanity_check_session_lengths PASSED [ 37%] 868s tests/test_xfra_calendar.py::TestXFRACalendar::test_adhoc_holidays_specification PASSED [ 37%] 868s tests/test_xfra_calendar.py::TestXFRACalendar::test_daylight_savings PASSED [ 37%] 868s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions PASSED [ 37%] 868s tests/test_xfra_calendar.py::TestXFRACalendar::test_opens_closes_break_starts_ends PASSED [ 37%] 868s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[both] PASSED [ 37%] 868s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[both] PASSED [ 37%] 868s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[both] PASSED [ 37%] 868s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[both] PASSED [ 37%] 868s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[both] PASSED [ 37%] 868s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[both] PASSED [ 37%] 868s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[both] PASSED [ 37%] 868s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[both] PASSED [ 37%] 869s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[both] PASSED [ 37%] 870s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[both] PASSED [ 37%] 870s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-next] PASSED [ 37%] 870s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-next] PASSED [ 37%] 870s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-next] PASSED [ 37%] 870s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-next] PASSED [ 37%] 870s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[left] PASSED [ 37%] 871s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[left] PASSED [ 37%] 871s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[left] PASSED [ 37%] 871s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[left] PASSED [ 37%] 871s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[left] PASSED [ 37%] 871s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[left] PASSED [ 37%] 871s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[left] PASSED [ 37%] 871s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[left] PASSED [ 37%] 871s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[left] PASSED [ 37%] 872s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[left] PASSED [ 37%] 872s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-previous] PASSED [ 37%] 872s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 37%] 872s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-previous] PASSED [ 37%] 872s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 37%] 873s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-previous] PASSED [ 37%] 873s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 37%] 873s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-next] PASSED [ 37%] 873s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-next] PASSED [ 37%] 873s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[right] PASSED [ 37%] 873s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[right] PASSED [ 37%] 873s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[right] PASSED [ 37%] 873s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[right] PASSED [ 37%] 873s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[right] PASSED [ 38%] 873s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[right] PASSED [ 38%] 873s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[right] PASSED [ 38%] 873s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[right] PASSED [ 38%] 874s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[right] PASSED [ 38%] 875s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[right] PASSED [ 38%] 875s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-none] PASSED [ 38%] 875s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-none] PASSED [ 38%] 875s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-none] PASSED [ 38%] 875s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-none] PASSED [ 38%] 875s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-none] PASSED [ 38%] 875s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-none] PASSED [ 38%] 875s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-none] PASSED [ 38%] 875s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 38%] 875s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-previous] PASSED [ 38%] 875s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 38%] 875s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-next] PASSED [ 38%] 875s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 38%] 875s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[neither] PASSED [ 38%] 876s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[neither] PASSED [ 38%] 876s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[neither] PASSED [ 38%] 876s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[neither] PASSED [ 38%] 876s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[neither] PASSED [ 38%] 876s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[neither] PASSED [ 38%] 876s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[neither] PASSED [ 38%] 876s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[neither] PASSED [ 38%] 876s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[neither] PASSED [ 38%] 877s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[neither] PASSED [ 38%] 877s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[neither] PASSED [ 38%] 877s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[neither] PASSED [ 38%] 877s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[neither] PASSED [ 38%] 877s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[neither] PASSED [ 38%] 877s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[neither] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[neither] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[neither] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[neither] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[neither] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[neither] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[right] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[right] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[right] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[right] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[right] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[right] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[right] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[right] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[right] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[right] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[left] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[left] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[left] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[left] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[left] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[left] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[left] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[left] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[left] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[left] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[both] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[both] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[both] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[both] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[both] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[both] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[both] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[both] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[both] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[both] PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_has_break PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_regular_holidays_sample PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_adhoc_holidays_sample PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_holidays_sample PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_late_opens_sample PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_sample PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_sample_time PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_weekdays PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_weekdays_time PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_early_closes_sample PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_early_closes_sample_time PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_late_opens PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_open_close_break_start_end PASSED [ 38%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_has_break PASSED [ 39%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_next_prev_session PASSED [ 39%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_offset PASSED [ 39%] 878s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_session PASSED [ 39%] 879s tests/test_xfra_calendar.py::TestXFRACalendar::test_date_to_session PASSED [ 39%] 881s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_open_close PASSED [ 39%] 881s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_in_range PASSED [ 39%] 881s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_has_break PASSED [ 39%] 881s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_window PASSED [ 39%] 881s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_distance PASSED [ 39%] 882s tests/test_xfra_calendar.py::TestXFRACalendar::test_trading_index PASSED [ 39%] 882s tests/test_xfra_calendar.py::TestXFRACalendar::test_deprecated PASSED [ 39%] 882s tests/test_xham_calendar.py::TestXHAMCalendar::test_testbase_integrity PASSED [ 39%] 882s tests/test_xham_calendar.py::TestXHAMCalendar::test_base_integrity PASSED [ 39%] 885s tests/test_xham_calendar.py::TestXHAMCalendar::test_calculated_against_csv PASSED [ 39%] 885s tests/test_xham_calendar.py::TestXHAMCalendar::test_start_end PASSED [ 39%] 885s tests/test_xham_calendar.py::TestXHAMCalendar::test_invalid_input PASSED [ 39%] 887s tests/test_xham_calendar.py::TestXHAMCalendar::test_bound_min PASSED [ 39%] 888s tests/test_xham_calendar.py::TestXHAMCalendar::test_bound_max PASSED [ 39%] 888s tests/test_xham_calendar.py::TestXHAMCalendar::test_sanity_check_session_lengths PASSED [ 39%] 888s tests/test_xham_calendar.py::TestXHAMCalendar::test_adhoc_holidays_specification PASSED [ 39%] 888s tests/test_xham_calendar.py::TestXHAMCalendar::test_daylight_savings PASSED [ 39%] 888s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions PASSED [ 39%] 888s tests/test_xham_calendar.py::TestXHAMCalendar::test_opens_closes_break_starts_ends PASSED [ 39%] 888s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[both] PASSED [ 39%] 888s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[both] PASSED [ 39%] 888s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[both] PASSED [ 39%] 888s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[both] PASSED [ 39%] 889s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[both] PASSED [ 39%] 889s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[both] PASSED [ 39%] 889s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[both] PASSED [ 39%] 889s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[both] PASSED [ 39%] 889s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[both] PASSED [ 39%] 890s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[both] PASSED [ 39%] 890s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-next] PASSED [ 39%] 890s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 39%] 890s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-next] PASSED [ 39%] 890s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 39%] 890s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[left] PASSED [ 39%] 891s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[left] PASSED [ 39%] 891s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[left] PASSED [ 39%] 891s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[left] PASSED [ 39%] 891s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[left] PASSED [ 39%] 891s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[left] PASSED [ 39%] 891s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[left] PASSED [ 39%] 891s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[left] PASSED [ 39%] 891s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[left] PASSED [ 39%] 893s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[left] PASSED [ 39%] 893s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-previous] PASSED [ 39%] 893s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 39%] 893s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-previous] PASSED [ 39%] 893s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 39%] 893s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-previous] PASSED [ 39%] 893s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 39%] 893s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-next] PASSED [ 39%] 893s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 39%] 893s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[right] PASSED [ 39%] 894s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[right] PASSED [ 39%] 894s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[right] PASSED [ 39%] 894s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[right] PASSED [ 39%] 894s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[right] PASSED [ 39%] 894s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[right] PASSED [ 39%] 894s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[right] PASSED [ 39%] 894s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[right] PASSED [ 39%] 894s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[right] PASSED [ 39%] 896s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[right] PASSED [ 39%] 896s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-none] PASSED [ 39%] 896s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 39%] 896s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-none] PASSED [ 39%] 896s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 39%] 896s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-none] PASSED [ 39%] 896s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 39%] 896s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-none] PASSED [ 39%] 896s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 39%] 896s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-previous] PASSED [ 39%] 896s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 39%] 896s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-next] PASSED [ 39%] 896s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 39%] 896s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[neither] PASSED [ 39%] 897s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[neither] PASSED [ 39%] 897s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[neither] PASSED [ 39%] 897s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[neither] PASSED [ 39%] 897s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[neither] PASSED [ 40%] 897s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[neither] PASSED [ 40%] 897s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[neither] PASSED [ 40%] 897s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[neither] PASSED [ 40%] 897s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[neither] PASSED [ 40%] 898s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[neither] PASSED [ 40%] 898s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[neither] PASSED [ 40%] 898s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[neither] PASSED [ 40%] 898s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[neither] PASSED [ 40%] 898s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 40%] 898s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[neither] PASSED [ 40%] 898s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[neither] PASSED [ 40%] 898s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[neither] PASSED [ 40%] 898s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[neither] PASSED [ 40%] 898s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[neither] PASSED [ 40%] 898s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[neither] PASSED [ 40%] 898s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[right] PASSED [ 40%] 898s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[right] PASSED [ 40%] 898s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[right] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[right] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[right] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[right] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[right] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[right] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[right] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[right] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[left] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[left] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[left] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[left] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[left] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[left] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[left] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[left] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[left] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[left] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[both] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[both] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[both] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[both] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[both] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[both] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[both] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[both] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[both] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[both] PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_has_break PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_regular_holidays_sample PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_adhoc_holidays_sample PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_holidays_sample PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_late_opens_sample PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_sample PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_sample_time PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_weekdays PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_weekdays_time PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_early_closes_sample PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_early_closes_sample_time PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_late_opens PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_open_close_break_start_end PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_has_break PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_next_prev_session PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_offset PASSED [ 40%] 899s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_session PASSED [ 40%] 900s tests/test_xham_calendar.py::TestXHAMCalendar::test_date_to_session PASSED [ 40%] 902s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_open_close PASSED [ 40%] 902s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_in_range PASSED [ 40%] 902s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_has_break PASSED [ 40%] 902s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_window PASSED [ 40%] 902s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_distance PASSED [ 40%] 903s tests/test_xham_calendar.py::TestXHAMCalendar::test_trading_index PASSED [ 40%] 903s tests/test_xham_calendar.py::TestXHAMCalendar::test_deprecated PASSED [ 40%] 903s tests/test_xhel_calendar.py::TestXHELCalendar::test_testbase_integrity PASSED [ 40%] 903s tests/test_xhel_calendar.py::TestXHELCalendar::test_base_integrity PASSED [ 40%] 905s tests/test_xhel_calendar.py::TestXHELCalendar::test_calculated_against_csv PASSED [ 40%] 906s tests/test_xhel_calendar.py::TestXHELCalendar::test_start_end PASSED [ 40%] 906s tests/test_xhel_calendar.py::TestXHELCalendar::test_invalid_input PASSED [ 40%] 908s tests/test_xhel_calendar.py::TestXHELCalendar::test_bound_min PASSED [ 40%] 909s tests/test_xhel_calendar.py::TestXHELCalendar::test_bound_max PASSED [ 40%] 909s tests/test_xhel_calendar.py::TestXHELCalendar::test_sanity_check_session_lengths PASSED [ 40%] 909s tests/test_xhel_calendar.py::TestXHELCalendar::test_adhoc_holidays_specification PASSED [ 40%] 909s tests/test_xhel_calendar.py::TestXHELCalendar::test_daylight_savings PASSED [ 40%] 909s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions PASSED [ 41%] 909s tests/test_xhel_calendar.py::TestXHELCalendar::test_opens_closes_break_starts_ends PASSED [ 41%] 909s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[both] PASSED [ 41%] 909s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[both] PASSED [ 41%] 909s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[both] PASSED [ 41%] 909s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[both] PASSED [ 41%] 909s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[both] PASSED [ 41%] 909s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[both] PASSED [ 41%] 909s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[both] PASSED [ 41%] 909s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[both] PASSED [ 41%] 909s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[both] PASSED [ 41%] 911s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[both] PASSED [ 41%] 911s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-next] PASSED [ 41%] 911s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-next] PASSED [ 41%] 911s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-next] PASSED [ 41%] 911s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-next] PASSED [ 41%] 911s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[left] PASSED [ 41%] 911s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[left] PASSED [ 41%] 911s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[left] PASSED [ 41%] 911s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[left] PASSED [ 41%] 911s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[left] PASSED [ 41%] 911s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[left] PASSED [ 41%] 911s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[left] PASSED [ 41%] 911s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[left] PASSED [ 41%] 911s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[left] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[left] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-previous] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-previous] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-previous] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-next] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-next] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[right] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[right] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[right] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[right] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[right] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[right] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[right] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[right] PASSED [ 41%] 913s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[right] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[right] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-none] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-none] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-none] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-none] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-none] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-none] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-none] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-previous] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-next] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[neither] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[neither] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[neither] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[neither] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[neither] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[neither] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[neither] PASSED [ 41%] 915s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[neither] PASSED [ 41%] 916s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[neither] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[neither] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[neither] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[neither] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[neither] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[neither] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[neither] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[neither] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[neither] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[neither] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[neither] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[neither] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[right] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[right] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[right] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[right] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[right] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[right] PASSED [ 41%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[right] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[right] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[right] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[right] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[left] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[left] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[left] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[left] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[left] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[left] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[left] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[left] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[left] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[left] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[both] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[both] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[both] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[both] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[both] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[both] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[both] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[both] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[both] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[both] PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_has_break PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_regular_holidays_sample PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_adhoc_holidays_sample PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_holidays_sample PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_late_opens_sample PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_sample PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_sample_time PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_weekdays PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_weekdays_time PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_early_closes_sample PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_early_closes_sample_time PASSED [ 42%] 917s tests/test_xhel_calendar.py::TestXHELCalendar::test_late_opens PASSED [ 42%] 918s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes PASSED [ 42%] 918s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_open_close_break_start_end PASSED [ 42%] 918s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_has_break PASSED [ 42%] 918s tests/test_xhel_calendar.py::TestXHELCalendar::test_next_prev_session PASSED [ 42%] 918s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_offset PASSED [ 42%] 918s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_session PASSED [ 42%] 918s tests/test_xhel_calendar.py::TestXHELCalendar::test_date_to_session PASSED [ 42%] 920s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_open_close PASSED [ 42%] 920s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_in_range PASSED [ 42%] 920s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_has_break PASSED [ 42%] 920s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_window PASSED [ 42%] 920s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_distance PASSED [ 42%] 921s tests/test_xhel_calendar.py::TestXHELCalendar::test_trading_index PASSED [ 42%] 921s tests/test_xhel_calendar.py::TestXHELCalendar::test_deprecated PASSED [ 42%] 921s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_testbase_integrity PASSED [ 42%] 921s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_base_integrity PASSED [ 42%] 925s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calculated_against_csv PASSED [ 42%] 925s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_start_end PASSED [ 42%] 926s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_invalid_input PASSED [ 42%] 927s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_bound_min PASSED [ 42%] 928s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_bound_max PASSED [ 42%] 928s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sanity_check_session_lengths PASSED [ 42%] 928s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_adhoc_holidays_specification PASSED [ 42%] 928s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_daylight_savings PASSED [ 42%] 928s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions PASSED [ 42%] 928s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_opens_closes_break_starts_ends PASSED [ 42%] 928s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[both] PASSED [ 42%] 929s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[both] PASSED [ 42%] 929s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[both] PASSED [ 42%] 929s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[both] PASSED [ 42%] 929s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[both] PASSED [ 42%] 929s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[both] PASSED [ 42%] 929s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[both] PASSED [ 42%] 929s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[both] PASSED [ 42%] 930s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[both] PASSED [ 42%] 933s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[both] PASSED [ 42%] 933s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-next] PASSED [ 42%] 933s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 42%] 933s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-next] PASSED [ 42%] 933s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 42%] 933s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[left] PASSED [ 42%] 933s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[left] PASSED [ 42%] 933s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[left] PASSED [ 42%] 933s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[left] PASSED [ 42%] 933s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[left] PASSED [ 42%] 933s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[left] PASSED [ 42%] 933s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[left] PASSED [ 43%] 933s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[left] PASSED [ 43%] 934s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[left] PASSED [ 43%] 937s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[left] PASSED [ 43%] 937s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-previous] PASSED [ 43%] 937s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 43%] 937s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-previous] PASSED [ 43%] 937s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 43%] 938s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-previous] PASSED [ 43%] 938s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 43%] 938s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-next] PASSED [ 43%] 938s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 43%] 938s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[right] PASSED [ 43%] 938s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[right] PASSED [ 43%] 938s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[right] PASSED [ 43%] 938s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[right] PASSED [ 43%] 938s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[right] PASSED [ 43%] 938s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[right] PASSED [ 43%] 938s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[right] PASSED [ 43%] 938s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[right] PASSED [ 43%] 939s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[right] PASSED [ 43%] 942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[right] PASSED [ 43%] 942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-none] PASSED [ 43%] 942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 43%] 942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-none] PASSED [ 43%] 942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 43%] 942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-none] PASSED [ 43%] 942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 43%] 942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-none] PASSED [ 43%] 942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 43%] 942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-previous] PASSED [ 43%] 942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 43%] 942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-next] PASSED [ 43%] 942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 43%] 942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[neither] PASSED [ 43%] 943s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[neither] PASSED [ 43%] 943s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[neither] PASSED [ 43%] 943s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[neither] PASSED [ 43%] 943s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[neither] PASSED [ 43%] 943s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[neither] PASSED [ 43%] 943s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[neither] PASSED [ 43%] 943s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[neither] PASSED [ 43%] 944s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[neither] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[neither] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[neither] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[neither] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[neither] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[neither] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[neither] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[neither] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[neither] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[neither] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[neither] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[right] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[right] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[right] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[right] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[right] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[right] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[right] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[right] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[right] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[right] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[left] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[left] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[left] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[left] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[left] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[left] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[left] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[left] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[left] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[left] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[both] PASSED [ 43%] 947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[both] PASSED [ 43%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[both] PASSED [ 43%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[both] PASSED [ 43%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[both] PASSED [ 43%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[both] PASSED [ 43%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[both] PASSED [ 43%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[both] PASSED [ 43%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[both] PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[both] PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_has_break PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_regular_holidays_sample PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_adhoc_holidays_sample PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_holidays_sample PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_late_opens_sample PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_sample PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_sample_time PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_weekdays PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_weekdays_time PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_early_closes_sample PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_early_closes_sample_time PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_late_opens PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_open_close_break_start_end PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_has_break PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_next_prev_session PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_offset PASSED [ 44%] 948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_session PASSED [ 44%] 949s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_date_to_session PASSED [ 44%] 951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_open_close PASSED [ 44%] 951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_in_range PASSED [ 44%] 951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_has_break PASSED [ 44%] 951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_window PASSED [ 44%] 951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_distance PASSED [ 44%] 952s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_trading_index PASSED [ 44%] 952s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_deprecated PASSED [ 44%] 952s tests/test_xice_calendar.py::TestXICECalendar::test_testbase_integrity PASSED [ 44%] 952s tests/test_xice_calendar.py::TestXICECalendar::test_base_integrity PASSED [ 44%] 953s tests/test_xice_calendar.py::TestXICECalendar::test_calculated_against_csv PASSED [ 44%] 954s tests/test_xice_calendar.py::TestXICECalendar::test_start_end PASSED [ 44%] 954s tests/test_xice_calendar.py::TestXICECalendar::test_invalid_input PASSED [ 44%] 956s tests/test_xice_calendar.py::TestXICECalendar::test_bound_min PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_bound_max PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_sanity_check_session_lengths PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_adhoc_holidays_specification PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_daylight_savings PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_sessions PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_opens_closes_break_starts_ends PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[both] PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[both] PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[both] PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[both] PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[both] PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[both] PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[both] PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[both] PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[both] PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[both] PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-next] PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-next] PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-next] PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-next] PASSED [ 44%] 957s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[left] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[left] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[left] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[left] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[left] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[left] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[left] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[left] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[left] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[left] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-previous] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-previous] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-previous] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-next] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-next] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[right] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[right] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[right] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[right] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[right] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[right] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[right] PASSED [ 44%] 958s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[right] PASSED [ 44%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[right] PASSED [ 44%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[right] PASSED [ 44%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-none] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-none] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-none] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-none] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-none] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-none] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-none] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-previous] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-next] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[neither] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[neither] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[neither] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[neither] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[neither] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[neither] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[neither] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[neither] PASSED [ 45%] 959s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[neither] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[neither] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[neither] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[neither] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[neither] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[neither] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[neither] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[neither] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[neither] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[neither] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[neither] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[neither] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[right] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[right] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[right] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[right] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[right] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[right] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[right] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[right] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[right] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[right] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[left] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[left] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[left] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[left] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[left] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[left] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[left] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[left] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[left] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[left] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[both] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[both] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[both] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[both] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[both] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[both] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[both] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[both] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[both] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[both] PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_has_break PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_regular_holidays_sample PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_adhoc_holidays_sample PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_non_holidays_sample PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_late_opens_sample PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_sample PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_sample_time PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_weekdays PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_weekdays_time PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_non_early_closes_sample PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_non_early_closes_sample_time PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_late_opens PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_session_open_close_break_start_end PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_session_has_break PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_next_prev_session PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_session_offset PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_is_session PASSED [ 45%] 960s tests/test_xice_calendar.py::TestXICECalendar::test_date_to_session PASSED [ 45%] 961s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_open_close PASSED [ 46%] 961s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_in_range PASSED [ 46%] 961s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_has_break PASSED [ 46%] 961s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_window PASSED [ 46%] 961s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_distance PASSED [ 46%] 961s tests/test_xice_calendar.py::TestXICECalendar::test_trading_index PASSED [ 46%] 961s tests/test_xice_calendar.py::TestXICECalendar::test_deprecated PASSED [ 46%] 961s tests/test_xidx_calendar.py::TestXIDXCalendar::test_testbase_integrity PASSED [ 46%] 961s tests/test_xidx_calendar.py::TestXIDXCalendar::test_base_integrity PASSED [ 46%] 964s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calculated_against_csv PASSED [ 46%] 964s tests/test_xidx_calendar.py::TestXIDXCalendar::test_start_end PASSED [ 46%] 964s tests/test_xidx_calendar.py::TestXIDXCalendar::test_invalid_input PASSED [ 46%] 966s tests/test_xidx_calendar.py::TestXIDXCalendar::test_bound_min PASSED [ 46%] 967s tests/test_xidx_calendar.py::TestXIDXCalendar::test_bound_max PASSED [ 46%] 967s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sanity_check_session_lengths PASSED [ 46%] 967s tests/test_xidx_calendar.py::TestXIDXCalendar::test_adhoc_holidays_specification PASSED [ 46%] 967s tests/test_xidx_calendar.py::TestXIDXCalendar::test_daylight_savings PASSED [ 46%] 967s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions PASSED [ 46%] 967s tests/test_xidx_calendar.py::TestXIDXCalendar::test_opens_closes_break_starts_ends PASSED [ 46%] 967s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[both] PASSED [ 46%] 967s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[both] PASSED [ 46%] 967s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[both] PASSED [ 46%] 967s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[both] PASSED [ 46%] 967s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[both] PASSED [ 46%] 967s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[both] PASSED [ 46%] 967s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[both] PASSED [ 46%] 967s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[both] PASSED [ 46%] 968s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[both] PASSED [ 46%] 969s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[both] PASSED [ 46%] 969s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-next] PASSED [ 46%] 969s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 46%] 969s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-next] PASSED [ 46%] 969s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 46%] 969s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[left] PASSED [ 46%] 969s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[left] PASSED [ 46%] 969s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[left] PASSED [ 46%] 969s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[left] PASSED [ 46%] 969s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[left] PASSED [ 46%] 969s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[left] PASSED [ 46%] 969s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[left] PASSED [ 46%] 969s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[left] PASSED [ 46%] 969s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[left] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[left] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-previous] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-previous] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-previous] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-next] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[right] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[right] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[right] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[right] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[right] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[right] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[right] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[right] PASSED [ 46%] 971s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[right] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[right] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-none] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-none] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-none] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-none] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-previous] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-next] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[neither] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[neither] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[neither] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[neither] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[neither] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[neither] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[neither] PASSED [ 46%] 973s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[neither] PASSED [ 46%] 974s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[neither] PASSED [ 46%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[neither] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[neither] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[neither] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[neither] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[neither] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[neither] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[neither] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[neither] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[neither] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[neither] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[right] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[right] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[right] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[right] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[right] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[right] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[right] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[right] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[right] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[right] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[left] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[left] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[left] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[left] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[left] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[left] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[left] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[left] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[left] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[left] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[both] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[both] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[both] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[both] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[both] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[both] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[both] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[both] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[both] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[both] PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_has_break PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_regular_holidays_sample PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_adhoc_holidays_sample PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_holidays_sample PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_late_opens_sample PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_sample PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_sample_time PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_weekdays PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_weekdays_time PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_early_closes_sample PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_early_closes_sample_time PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_late_opens PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_open_close_break_start_end PASSED [ 47%] 975s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_has_break PASSED [ 47%] 976s tests/test_xidx_calendar.py::TestXIDXCalendar::test_next_prev_session PASSED [ 47%] 976s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_offset PASSED [ 47%] 976s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_session PASSED [ 47%] 976s tests/test_xidx_calendar.py::TestXIDXCalendar::test_date_to_session PASSED [ 47%] 978s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_open_close PASSED [ 47%] 978s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_in_range PASSED [ 47%] 978s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_has_break PASSED [ 47%] 978s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_window PASSED [ 47%] 978s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_distance PASSED [ 47%] 978s tests/test_xidx_calendar.py::TestXIDXCalendar::test_trading_index PASSED [ 47%] 978s tests/test_xidx_calendar.py::TestXIDXCalendar::test_deprecated PASSED [ 47%] 978s tests/test_xidx_calendar.py::TestXIDXCalendar::test_trading_days PASSED [ 47%] 978s tests/test_xidx_calendar.py::TestXIDXCalendar::test_holidays_in_year[2019-holidays0] PASSED [ 47%] 978s tests/test_xidx_calendar.py::TestXIDXCalendar::test_holidays_in_year[2018-holidays1] PASSED [ 47%] 978s tests/test_xist_calendar.py::TestXISTCalendar::test_testbase_integrity PASSED [ 47%] 978s tests/test_xist_calendar.py::TestXISTCalendar::test_base_integrity PASSED [ 47%] 981s tests/test_xist_calendar.py::TestXISTCalendar::test_calculated_against_csv PASSED [ 47%] 981s tests/test_xist_calendar.py::TestXISTCalendar::test_start_end PASSED [ 47%] 981s tests/test_xist_calendar.py::TestXISTCalendar::test_invalid_input PASSED [ 47%] 983s tests/test_xist_calendar.py::TestXISTCalendar::test_bound_min PASSED [ 47%] 984s tests/test_xist_calendar.py::TestXISTCalendar::test_bound_max PASSED [ 47%] 984s tests/test_xist_calendar.py::TestXISTCalendar::test_sanity_check_session_lengths PASSED [ 47%] 984s tests/test_xist_calendar.py::TestXISTCalendar::test_adhoc_holidays_specification PASSED [ 47%] 984s tests/test_xist_calendar.py::TestXISTCalendar::test_daylight_savings PASSED [ 47%] 984s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions PASSED [ 47%] 984s tests/test_xist_calendar.py::TestXISTCalendar::test_opens_closes_break_starts_ends PASSED [ 47%] 984s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[both] PASSED [ 48%] 984s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[both] PASSED [ 48%] 984s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[both] PASSED [ 48%] 984s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[both] PASSED [ 48%] 984s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[both] PASSED [ 48%] 984s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[both] PASSED [ 48%] 985s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[both] PASSED [ 48%] 985s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[both] PASSED [ 48%] 985s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[both] PASSED [ 48%] 986s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[both] PASSED [ 48%] 986s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-next] PASSED [ 48%] 986s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-next] PASSED [ 48%] 986s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-next] PASSED [ 48%] 986s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-next] PASSED [ 48%] 986s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[left] PASSED [ 48%] 987s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[left] PASSED [ 48%] 987s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[left] PASSED [ 48%] 987s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[left] PASSED [ 48%] 987s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[left] PASSED [ 48%] 987s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[left] PASSED [ 48%] 987s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[left] PASSED [ 48%] 987s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[left] PASSED [ 48%] 987s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[left] PASSED [ 48%] 988s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[left] PASSED [ 48%] 988s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-previous] PASSED [ 48%] 988s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 48%] 988s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-previous] PASSED [ 48%] 988s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 48%] 989s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-previous] PASSED [ 48%] 989s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 48%] 989s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-next] PASSED [ 48%] 989s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-next] PASSED [ 48%] 989s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[right] PASSED [ 48%] 989s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[right] PASSED [ 48%] 989s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[right] PASSED [ 48%] 989s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[right] PASSED [ 48%] 989s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[right] PASSED [ 48%] 989s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[right] PASSED [ 48%] 989s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[right] PASSED [ 48%] 989s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[right] PASSED [ 48%] 989s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[right] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[right] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-none] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-none] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-none] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-none] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-none] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-none] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-none] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-previous] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-next] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[neither] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[neither] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[neither] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[neither] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[neither] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[neither] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[neither] PASSED [ 48%] 991s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[neither] PASSED [ 48%] 992s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[neither] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[neither] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[neither] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[neither] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[neither] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[neither] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[neither] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[neither] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[neither] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[neither] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[neither] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[neither] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[right] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[right] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[right] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[right] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[right] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[right] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[right] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[right] PASSED [ 48%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[right] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[right] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[left] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[left] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[left] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[left] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[left] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[left] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[left] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[left] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[left] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[left] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[both] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[both] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[both] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[both] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[both] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[both] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[both] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[both] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[both] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[both] PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_has_break PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_regular_holidays_sample PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_adhoc_holidays_sample PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_non_holidays_sample PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_late_opens_sample PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_sample PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_sample_time PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_weekdays PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_weekdays_time PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_non_early_closes_sample PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_non_early_closes_sample_time PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_late_opens PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_session_open_close_break_start_end PASSED [ 49%] 993s tests/test_xist_calendar.py::TestXISTCalendar::test_session_has_break PASSED [ 49%] 994s tests/test_xist_calendar.py::TestXISTCalendar::test_next_prev_session PASSED [ 49%] 994s tests/test_xist_calendar.py::TestXISTCalendar::test_session_offset PASSED [ 49%] 994s tests/test_xist_calendar.py::TestXISTCalendar::test_is_session PASSED [ 49%] 994s tests/test_xist_calendar.py::TestXISTCalendar::test_date_to_session PASSED [ 49%] 996s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_open_close PASSED [ 49%] 996s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_in_range PASSED [ 49%] 996s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_has_break PASSED [ 49%] 996s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_window PASSED [ 49%] 996s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_distance PASSED [ 49%] 997s tests/test_xist_calendar.py::TestXISTCalendar::test_trading_index PASSED [ 49%] 997s tests/test_xist_calendar.py::TestXISTCalendar::test_deprecated PASSED [ 49%] 997s tests/test_xjse_calendar.py::TestXJSECalendar::test_testbase_integrity PASSED [ 49%] 997s tests/test_xjse_calendar.py::TestXJSECalendar::test_base_integrity PASSED [ 49%] 1000s tests/test_xjse_calendar.py::TestXJSECalendar::test_calculated_against_csv PASSED [ 49%] 1000s tests/test_xjse_calendar.py::TestXJSECalendar::test_start_end PASSED [ 49%] 1000s tests/test_xjse_calendar.py::TestXJSECalendar::test_invalid_input PASSED [ 49%] 1002s tests/test_xjse_calendar.py::TestXJSECalendar::test_bound_min PASSED [ 49%] 1003s tests/test_xjse_calendar.py::TestXJSECalendar::test_bound_max PASSED [ 49%] 1003s tests/test_xjse_calendar.py::TestXJSECalendar::test_sanity_check_session_lengths PASSED [ 49%] 1003s tests/test_xjse_calendar.py::TestXJSECalendar::test_adhoc_holidays_specification PASSED [ 49%] 1003s tests/test_xjse_calendar.py::TestXJSECalendar::test_daylight_savings PASSED [ 49%] 1003s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions PASSED [ 49%] 1003s tests/test_xjse_calendar.py::TestXJSECalendar::test_opens_closes_break_starts_ends PASSED [ 49%] 1003s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[both] PASSED [ 49%] 1003s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[both] PASSED [ 49%] 1003s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[both] PASSED [ 49%] 1003s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[both] PASSED [ 49%] 1003s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[both] PASSED [ 49%] 1003s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[both] PASSED [ 49%] 1003s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[both] PASSED [ 49%] 1003s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[both] PASSED [ 49%] 1004s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[both] PASSED [ 49%] 1005s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[both] PASSED [ 49%] 1005s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-next] PASSED [ 49%] 1005s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 49%] 1005s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-next] PASSED [ 49%] 1005s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 49%] 1005s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[left] PASSED [ 49%] 1005s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[left] PASSED [ 49%] 1005s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[left] PASSED [ 49%] 1005s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[left] PASSED [ 49%] 1005s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[left] PASSED [ 49%] 1005s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[left] PASSED [ 49%] 1005s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[left] PASSED [ 49%] 1005s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[left] PASSED [ 49%] 1005s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[left] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[left] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-previous] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-previous] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-previous] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-next] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[right] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[right] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[right] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[right] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[right] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[right] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[right] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[right] PASSED [ 50%] 1007s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[right] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[right] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-none] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-none] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-none] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-none] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-previous] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-next] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[neither] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[neither] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[neither] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[neither] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[neither] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[neither] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[neither] PASSED [ 50%] 1009s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[neither] PASSED [ 50%] 1010s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[neither] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[neither] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[neither] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[neither] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[neither] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[neither] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[neither] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[neither] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[neither] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[neither] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[neither] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[right] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[right] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[right] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[right] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[right] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[right] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[right] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[right] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[right] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[right] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[left] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[left] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[left] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[left] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[left] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[left] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[left] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[left] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[left] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[left] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[both] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[both] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[both] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[both] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[both] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[both] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[both] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[both] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[both] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[both] PASSED [ 50%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_has_break PASSED [ 51%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_regular_holidays_sample PASSED [ 51%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_adhoc_holidays_sample PASSED [ 51%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_holidays_sample PASSED [ 51%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_late_opens_sample PASSED [ 51%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_sample PASSED [ 51%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_sample_time PASSED [ 51%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_weekdays PASSED [ 51%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_weekdays_time PASSED [ 51%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_early_closes_sample PASSED [ 51%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_early_closes_sample_time PASSED [ 51%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_late_opens PASSED [ 51%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes PASSED [ 51%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_open_close_break_start_end PASSED [ 51%] 1011s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_has_break PASSED [ 51%] 1012s tests/test_xjse_calendar.py::TestXJSECalendar::test_next_prev_session PASSED [ 51%] 1012s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_offset PASSED [ 51%] 1012s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_session PASSED [ 51%] 1012s tests/test_xjse_calendar.py::TestXJSECalendar::test_date_to_session PASSED [ 51%] 1014s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_open_close PASSED [ 51%] 1014s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_in_range PASSED [ 51%] 1014s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_has_break PASSED [ 51%] 1014s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_window PASSED [ 51%] 1014s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_distance PASSED [ 51%] 1014s tests/test_xjse_calendar.py::TestXJSECalendar::test_trading_index PASSED [ 51%] 1014s tests/test_xjse_calendar.py::TestXJSECalendar::test_deprecated PASSED [ 51%] 1014s tests/test_xjse_calendar.py::TestXJSECalendar::test_no_weekend_sessions PASSED [ 51%] 1014s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2019-holidays0] PASSED [ 51%] 1014s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2018-holidays1] PASSED [ 51%] 1014s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2016-holidays2] PASSED [ 51%] 1014s tests/test_xkar_calendar.py::TestXKARCalendar::test_testbase_integrity PASSED [ 51%] 1014s tests/test_xkar_calendar.py::TestXKARCalendar::test_base_integrity PASSED [ 51%] 1017s tests/test_xkar_calendar.py::TestXKARCalendar::test_calculated_against_csv PASSED [ 51%] 1017s tests/test_xkar_calendar.py::TestXKARCalendar::test_start_end PASSED [ 51%] 1017s tests/test_xkar_calendar.py::TestXKARCalendar::test_invalid_input PASSED [ 51%] 1019s tests/test_xkar_calendar.py::TestXKARCalendar::test_bound_min PASSED [ 51%] 1020s tests/test_xkar_calendar.py::TestXKARCalendar::test_bound_max PASSED [ 51%] 1020s tests/test_xkar_calendar.py::TestXKARCalendar::test_sanity_check_session_lengths PASSED [ 51%] 1020s tests/test_xkar_calendar.py::TestXKARCalendar::test_adhoc_holidays_specification PASSED [ 51%] 1020s tests/test_xkar_calendar.py::TestXKARCalendar::test_daylight_savings PASSED [ 51%] 1020s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions PASSED [ 51%] 1020s tests/test_xkar_calendar.py::TestXKARCalendar::test_opens_closes_break_starts_ends PASSED [ 51%] 1020s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[both] PASSED [ 51%] 1020s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[both] PASSED [ 51%] 1020s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[both] PASSED [ 51%] 1020s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[both] PASSED [ 51%] 1020s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[both] PASSED [ 51%] 1020s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[both] PASSED [ 51%] 1020s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[both] PASSED [ 51%] 1020s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[both] PASSED [ 51%] 1021s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[both] PASSED [ 51%] 1022s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[both] PASSED [ 51%] 1022s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-next] PASSED [ 51%] 1022s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 51%] 1022s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-next] PASSED [ 51%] 1022s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 51%] 1022s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[left] PASSED [ 51%] 1022s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[left] PASSED [ 51%] 1022s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[left] PASSED [ 51%] 1022s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[left] PASSED [ 51%] 1022s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[left] PASSED [ 51%] 1022s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[left] PASSED [ 51%] 1022s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[left] PASSED [ 51%] 1022s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[left] PASSED [ 51%] 1023s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[left] PASSED [ 51%] 1024s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[left] PASSED [ 51%] 1024s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-previous] PASSED [ 51%] 1024s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 51%] 1024s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-previous] PASSED [ 51%] 1024s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 51%] 1024s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-previous] PASSED [ 51%] 1024s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 51%] 1024s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-next] PASSED [ 51%] 1024s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 51%] 1024s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[right] PASSED [ 51%] 1024s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[right] PASSED [ 51%] 1024s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[right] PASSED [ 51%] 1024s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[right] PASSED [ 51%] 1024s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[right] PASSED [ 51%] 1024s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[right] PASSED [ 51%] 1024s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[right] PASSED [ 51%] 1024s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[right] PASSED [ 51%] 1025s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[right] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[right] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-none] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-none] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-none] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-none] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-previous] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-next] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[neither] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[neither] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[neither] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[neither] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[neither] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[neither] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[neither] PASSED [ 52%] 1026s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[neither] PASSED [ 52%] 1027s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[neither] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[neither] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[neither] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[neither] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[neither] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[neither] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[neither] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[neither] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[neither] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[neither] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[neither] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[right] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[right] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[right] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[right] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[right] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[right] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[right] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[right] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[right] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[right] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[left] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[left] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[left] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[left] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[left] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[left] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[left] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[left] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[left] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[left] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[both] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[both] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[both] PASSED [ 52%] 1028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[both] PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[both] PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[both] PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[both] PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[both] PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[both] PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[both] PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_has_break PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_regular_holidays_sample PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_adhoc_holidays_sample PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_holidays_sample PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_late_opens_sample PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_sample PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_sample_time PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_weekdays PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_weekdays_time PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_early_closes_sample PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_early_closes_sample_time PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_late_opens PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_open_close_break_start_end PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_has_break PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_next_prev_session PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_offset PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_session PASSED [ 52%] 1029s tests/test_xkar_calendar.py::TestXKARCalendar::test_date_to_session PASSED [ 53%] 1032s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_open_close PASSED [ 53%] 1032s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_in_range PASSED [ 53%] 1032s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_has_break PASSED [ 53%] 1032s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_window PASSED [ 53%] 1032s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_distance PASSED [ 53%] 1032s tests/test_xkar_calendar.py::TestXKARCalendar::test_trading_index PASSED [ 53%] 1032s tests/test_xkar_calendar.py::TestXKARCalendar::test_deprecated PASSED [ 53%] 1032s tests/test_xkar_calendar.py::TestXKARCalendar::test_holidays_in_year[2019-holidays0] PASSED [ 53%] 1032s tests/test_xkls_calendar.py::TestXKLSCalendar::test_testbase_integrity PASSED [ 53%] 1032s tests/test_xkls_calendar.py::TestXKLSCalendar::test_base_integrity PASSED [ 53%] 1035s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calculated_against_csv PASSED [ 53%] 1035s tests/test_xkls_calendar.py::TestXKLSCalendar::test_start_end PASSED [ 53%] 1035s tests/test_xkls_calendar.py::TestXKLSCalendar::test_invalid_input PASSED [ 53%] 1037s tests/test_xkls_calendar.py::TestXKLSCalendar::test_bound_min PASSED [ 53%] 1038s tests/test_xkls_calendar.py::TestXKLSCalendar::test_bound_max PASSED [ 53%] 1038s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sanity_check_session_lengths PASSED [ 53%] 1038s tests/test_xkls_calendar.py::TestXKLSCalendar::test_adhoc_holidays_specification PASSED [ 53%] 1038s tests/test_xkls_calendar.py::TestXKLSCalendar::test_daylight_savings PASSED [ 53%] 1038s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions PASSED [ 53%] 1038s tests/test_xkls_calendar.py::TestXKLSCalendar::test_opens_closes_break_starts_ends PASSED [ 53%] 1038s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[both] PASSED [ 53%] 1038s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[both] PASSED [ 53%] 1038s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[both] PASSED [ 53%] 1038s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[both] PASSED [ 53%] 1038s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[both] PASSED [ 53%] 1038s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[both] PASSED [ 53%] 1038s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[both] PASSED [ 53%] 1038s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[both] PASSED [ 53%] 1038s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[both] PASSED [ 53%] 1040s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[both] PASSED [ 53%] 1040s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-next] PASSED [ 53%] 1040s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 53%] 1040s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-next] PASSED [ 53%] 1040s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 53%] 1040s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[left] PASSED [ 53%] 1040s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[left] PASSED [ 53%] 1040s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[left] PASSED [ 53%] 1040s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[left] PASSED [ 53%] 1040s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[left] PASSED [ 53%] 1040s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[left] PASSED [ 53%] 1040s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[left] PASSED [ 53%] 1040s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[left] PASSED [ 53%] 1040s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[left] PASSED [ 53%] 1042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[left] PASSED [ 53%] 1042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-previous] PASSED [ 53%] 1042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 53%] 1042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-previous] PASSED [ 53%] 1042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 53%] 1042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-previous] PASSED [ 53%] 1042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 53%] 1042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-next] PASSED [ 53%] 1042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 53%] 1042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[right] PASSED [ 53%] 1042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[right] PASSED [ 53%] 1042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[right] PASSED [ 53%] 1042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[right] PASSED [ 53%] 1042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[right] PASSED [ 53%] 1042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[right] PASSED [ 53%] 1042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[right] PASSED [ 53%] 1042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[right] PASSED [ 53%] 1043s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[right] PASSED [ 53%] 1044s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[right] PASSED [ 53%] 1044s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-none] PASSED [ 53%] 1044s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 53%] 1044s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-none] PASSED [ 53%] 1044s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 53%] 1044s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-none] PASSED [ 53%] 1044s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 53%] 1044s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-none] PASSED [ 53%] 1044s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 53%] 1044s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-previous] PASSED [ 53%] 1044s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 53%] 1044s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-next] PASSED [ 53%] 1044s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 53%] 1044s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[neither] PASSED [ 53%] 1045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[neither] PASSED [ 53%] 1045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[neither] PASSED [ 53%] 1045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[neither] PASSED [ 53%] 1045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[neither] PASSED [ 53%] 1045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[neither] PASSED [ 53%] 1045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[neither] PASSED [ 53%] 1045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[neither] PASSED [ 54%] 1045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[neither] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[neither] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[neither] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[neither] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[neither] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[neither] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[neither] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[neither] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[neither] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[neither] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[neither] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[right] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[right] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[right] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[right] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[right] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[right] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[right] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[right] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[right] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[right] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[left] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[left] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[left] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[left] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[left] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[left] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[left] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[left] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[left] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[left] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[both] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[both] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[both] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[both] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[both] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[both] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[both] PASSED [ 54%] 1046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[both] PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[both] PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[both] PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_has_break PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_regular_holidays_sample PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_adhoc_holidays_sample PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_holidays_sample PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_late_opens_sample PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_sample PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_sample_time PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_weekdays PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_weekdays_time PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_early_closes_sample PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_early_closes_sample_time PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_late_opens PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_open_close_break_start_end PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_has_break PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_next_prev_session PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_offset PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_session PASSED [ 54%] 1047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_date_to_session PASSED [ 54%] 1050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_open_close PASSED [ 54%] 1050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_in_range PASSED [ 54%] 1050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_has_break PASSED [ 54%] 1050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_window PASSED [ 54%] 1050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_distance PASSED [ 54%] 1050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_trading_index PASSED [ 54%] 1050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_deprecated PASSED [ 54%] 1050s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_testbase_integrity PASSED [ 54%] 1050s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_base_integrity PASSED [ 54%] 1073s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calculated_against_csv PASSED [ 54%] 1078s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_start_end PASSED [ 54%] 1080s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_invalid_input PASSED [ 54%] 1089s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_bound_min PASSED [ 54%] 1093s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_bound_max PASSED [ 54%] 1093s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sanity_check_session_lengths PASSED [ 54%] 1093s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_adhoc_holidays_specification PASSED [ 54%] 1093s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_daylight_savings PASSED [ 54%] 1093s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions PASSED [ 54%] 1093s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_opens_closes_break_starts_ends PASSED [ 54%] 1093s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[both] PASSED [ 55%] 1094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[both] PASSED [ 55%] 1094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[both] PASSED [ 55%] 1094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[both] PASSED [ 55%] 1094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[both] PASSED [ 55%] 1094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[both] PASSED [ 55%] 1094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[both] PASSED [ 55%] 1094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[both] PASSED [ 55%] 1095s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[both] PASSED [ 55%] 1098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[both] PASSED [ 55%] 1098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-next] PASSED [ 55%] 1098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 55%] 1098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-next] PASSED [ 55%] 1098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 55%] 1098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[left] PASSED [ 55%] 1098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[left] PASSED [ 55%] 1098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[left] PASSED [ 55%] 1098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[left] PASSED [ 55%] 1098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[left] PASSED [ 55%] 1098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[left] PASSED [ 55%] 1098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[left] PASSED [ 55%] 1098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[left] PASSED [ 55%] 1100s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[left] PASSED [ 55%] 1102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[left] PASSED [ 55%] 1102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-previous] PASSED [ 55%] 1102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 55%] 1102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-previous] PASSED [ 55%] 1102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 55%] 1102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-previous] PASSED [ 55%] 1102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 55%] 1102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-next] PASSED [ 55%] 1102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 55%] 1102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[right] PASSED [ 55%] 1103s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[right] PASSED [ 55%] 1103s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[right] PASSED [ 55%] 1103s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[right] PASSED [ 55%] 1103s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[right] PASSED [ 55%] 1103s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[right] PASSED [ 55%] 1103s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[right] PASSED [ 55%] 1103s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[right] PASSED [ 55%] 1104s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[right] PASSED [ 55%] 1107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[right] PASSED [ 55%] 1107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-none] PASSED [ 55%] 1107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 55%] 1107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-none] PASSED [ 55%] 1107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 55%] 1107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-none] PASSED [ 55%] 1107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 55%] 1107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-none] PASSED [ 55%] 1107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 55%] 1107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-previous] PASSED [ 55%] 1107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 55%] 1107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-next] PASSED [ 55%] 1107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 55%] 1107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[neither] PASSED [ 55%] 1108s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[neither] PASSED [ 55%] 1108s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[neither] PASSED [ 55%] 1108s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[neither] PASSED [ 55%] 1108s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[neither] PASSED [ 55%] 1108s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[neither] PASSED [ 55%] 1108s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[neither] PASSED [ 55%] 1108s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[neither] PASSED [ 55%] 1109s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[neither] PASSED [ 55%] 1111s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[neither] PASSED [ 55%] 1111s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[neither] PASSED [ 55%] 1111s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[neither] PASSED [ 55%] 1111s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[neither] PASSED [ 55%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 55%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[neither] PASSED [ 55%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[neither] PASSED [ 55%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[neither] PASSED [ 55%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[neither] PASSED [ 55%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[neither] PASSED [ 55%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[neither] PASSED [ 55%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[right] PASSED [ 55%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[right] PASSED [ 55%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[right] PASSED [ 55%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[right] PASSED [ 55%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[right] PASSED [ 55%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[right] PASSED [ 55%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[right] PASSED [ 55%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[right] PASSED [ 55%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[right] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[right] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[left] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[left] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[left] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[left] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[left] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[left] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[left] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[left] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[left] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[left] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[both] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[both] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[both] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[both] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[both] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[both] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[both] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[both] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[both] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[both] PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_has_break PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_regular_holidays_sample PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_adhoc_holidays_sample PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_holidays_sample PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_late_opens_sample PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_sample PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_sample_time PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_weekdays PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_weekdays_time PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_early_closes_sample PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_early_closes_sample_time PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_open_close_break_start_end PASSED [ 56%] 1112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_has_break PASSED [ 56%] 1113s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_next_prev_session PASSED [ 56%] 1113s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_offset PASSED [ 56%] 1113s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_session PASSED [ 56%] 1113s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_date_to_session PASSED [ 56%] 1116s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_open_close PASSED [ 56%] 1116s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_in_range PASSED [ 56%] 1116s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_has_break PASSED [ 56%] 1116s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_window PASSED [ 56%] 1116s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_distance PASSED [ 56%] 1117s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_trading_index PASSED [ 56%] 1117s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_deprecated PASSED [ 56%] 1117s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_late_opens XFAIL [ 56%] 1118s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_historical_regular_holidays_fall_into_precomputed_holidays PASSED [ 56%] 1120s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_feb_29_2022_in_lunar_calendar PASSED [ 56%] 1120s tests/test_xlim_calendar.py::TestXLIMCalendar::test_testbase_integrity PASSED [ 56%] 1120s tests/test_xlim_calendar.py::TestXLIMCalendar::test_base_integrity PASSED [ 56%] 1122s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calculated_against_csv PASSED [ 56%] 1123s tests/test_xlim_calendar.py::TestXLIMCalendar::test_start_end PASSED [ 56%] 1123s tests/test_xlim_calendar.py::TestXLIMCalendar::test_invalid_input PASSED [ 56%] 1125s tests/test_xlim_calendar.py::TestXLIMCalendar::test_bound_min PASSED [ 56%] 1126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_bound_max PASSED [ 56%] 1126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sanity_check_session_lengths PASSED [ 56%] 1126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_adhoc_holidays_specification PASSED [ 56%] 1126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_daylight_savings PASSED [ 56%] 1126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions PASSED [ 56%] 1126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_opens_closes_break_starts_ends PASSED [ 56%] 1126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[both] PASSED [ 56%] 1126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[both] PASSED [ 56%] 1126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[both] PASSED [ 56%] 1126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[both] PASSED [ 56%] 1126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[both] PASSED [ 56%] 1126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[both] PASSED [ 56%] 1126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[both] PASSED [ 56%] 1126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[both] PASSED [ 56%] 1126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[both] PASSED [ 56%] 1128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[both] PASSED [ 56%] 1128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-next] PASSED [ 56%] 1128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 56%] 1128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-next] PASSED [ 56%] 1128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 56%] 1128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[left] PASSED [ 56%] 1128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[left] PASSED [ 56%] 1128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[left] PASSED [ 56%] 1128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[left] PASSED [ 56%] 1128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[left] PASSED [ 56%] 1128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[left] PASSED [ 56%] 1128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[left] PASSED [ 57%] 1128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[left] PASSED [ 57%] 1128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[left] PASSED [ 57%] 1130s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[left] PASSED [ 57%] 1130s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-previous] PASSED [ 57%] 1130s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 57%] 1130s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-previous] PASSED [ 57%] 1130s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 57%] 1130s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-previous] PASSED [ 57%] 1130s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 57%] 1130s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-next] PASSED [ 57%] 1130s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 57%] 1130s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[right] PASSED [ 57%] 1130s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[right] PASSED [ 57%] 1130s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[right] PASSED [ 57%] 1130s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[right] PASSED [ 57%] 1130s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[right] PASSED [ 57%] 1130s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[right] PASSED [ 57%] 1130s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[right] PASSED [ 57%] 1130s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[right] PASSED [ 57%] 1131s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[right] PASSED [ 57%] 1132s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[right] PASSED [ 57%] 1132s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-none] PASSED [ 57%] 1132s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 57%] 1132s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-none] PASSED [ 57%] 1132s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 57%] 1132s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-none] PASSED [ 57%] 1132s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 57%] 1132s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-none] PASSED [ 57%] 1132s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 57%] 1132s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-previous] PASSED [ 57%] 1132s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 57%] 1132s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-next] PASSED [ 57%] 1132s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 57%] 1132s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[neither] PASSED [ 57%] 1133s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[neither] PASSED [ 57%] 1133s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[neither] PASSED [ 57%] 1133s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[neither] PASSED [ 57%] 1133s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[neither] PASSED [ 57%] 1133s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[neither] PASSED [ 57%] 1133s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[neither] PASSED [ 57%] 1133s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[neither] PASSED [ 57%] 1133s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[neither] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[neither] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[neither] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[neither] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[neither] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[neither] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[neither] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[neither] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[neither] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[neither] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[neither] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[right] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[right] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[right] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[right] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[right] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[right] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[right] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[right] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[right] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[right] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[left] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[left] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[left] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[left] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[left] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[left] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[left] PASSED [ 57%] 1134s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[left] PASSED [ 57%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[left] PASSED [ 57%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[left] PASSED [ 57%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[both] PASSED [ 57%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[both] PASSED [ 57%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[both] PASSED [ 57%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[both] PASSED [ 57%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[both] PASSED [ 57%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[both] PASSED [ 57%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[both] PASSED [ 57%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[both] PASSED [ 57%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[both] PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[both] PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_has_break PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_regular_holidays_sample PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_adhoc_holidays_sample PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_holidays_sample PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_late_opens_sample PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_sample PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_sample_time PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_weekdays PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_weekdays_time PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_early_closes_sample PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_early_closes_sample_time PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_late_opens PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_open_close_break_start_end PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_has_break PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_next_prev_session PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_offset PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_session PASSED [ 58%] 1135s tests/test_xlim_calendar.py::TestXLIMCalendar::test_date_to_session PASSED [ 58%] 1138s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_open_close PASSED [ 58%] 1138s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_in_range PASSED [ 58%] 1138s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_has_break PASSED [ 58%] 1138s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_window PASSED [ 58%] 1138s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_distance PASSED [ 58%] 1138s tests/test_xlim_calendar.py::TestXLIMCalendar::test_trading_index PASSED [ 58%] 1138s tests/test_xlim_calendar.py::TestXLIMCalendar::test_deprecated PASSED [ 58%] 1138s tests/test_xlis_calendar.py::TestXLISCalendar::test_testbase_integrity PASSED [ 58%] 1138s tests/test_xlis_calendar.py::TestXLISCalendar::test_base_integrity PASSED [ 58%] 1141s tests/test_xlis_calendar.py::TestXLISCalendar::test_calculated_against_csv PASSED [ 58%] 1141s tests/test_xlis_calendar.py::TestXLISCalendar::test_start_end PASSED [ 58%] 1141s tests/test_xlis_calendar.py::TestXLISCalendar::test_invalid_input PASSED [ 58%] 1143s tests/test_xlis_calendar.py::TestXLISCalendar::test_bound_min PASSED [ 58%] 1144s tests/test_xlis_calendar.py::TestXLISCalendar::test_bound_max PASSED [ 58%] 1144s tests/test_xlis_calendar.py::TestXLISCalendar::test_sanity_check_session_lengths PASSED [ 58%] 1144s tests/test_xlis_calendar.py::TestXLISCalendar::test_adhoc_holidays_specification PASSED [ 58%] 1144s tests/test_xlis_calendar.py::TestXLISCalendar::test_daylight_savings PASSED [ 58%] 1144s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions PASSED [ 58%] 1144s tests/test_xlis_calendar.py::TestXLISCalendar::test_opens_closes_break_starts_ends PASSED [ 58%] 1144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[both] PASSED [ 58%] 1144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[both] PASSED [ 58%] 1144s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[both] PASSED [ 58%] 1144s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[both] PASSED [ 58%] 1144s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[both] PASSED [ 58%] 1144s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[both] PASSED [ 58%] 1144s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[both] PASSED [ 58%] 1144s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[both] PASSED [ 58%] 1145s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[both] PASSED [ 58%] 1146s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[both] PASSED [ 58%] 1146s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-next] PASSED [ 58%] 1146s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-next] PASSED [ 58%] 1146s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-next] PASSED [ 58%] 1146s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-next] PASSED [ 58%] 1146s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[left] PASSED [ 58%] 1146s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[left] PASSED [ 58%] 1146s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[left] PASSED [ 58%] 1146s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[left] PASSED [ 58%] 1146s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[left] PASSED [ 58%] 1146s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[left] PASSED [ 58%] 1146s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[left] PASSED [ 58%] 1146s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[left] PASSED [ 58%] 1147s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[left] PASSED [ 58%] 1148s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[left] PASSED [ 58%] 1148s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-previous] PASSED [ 58%] 1148s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 58%] 1148s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-previous] PASSED [ 58%] 1148s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 58%] 1148s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-previous] PASSED [ 58%] 1148s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 58%] 1148s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-next] PASSED [ 58%] 1148s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-next] PASSED [ 58%] 1148s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[right] PASSED [ 58%] 1149s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[right] PASSED [ 58%] 1149s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[right] PASSED [ 58%] 1149s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[right] PASSED [ 58%] 1149s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[right] PASSED [ 58%] 1149s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[right] PASSED [ 58%] 1149s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[right] PASSED [ 58%] 1149s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[right] PASSED [ 58%] 1149s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[right] PASSED [ 58%] 1150s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[right] PASSED [ 58%] 1150s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-none] PASSED [ 59%] 1150s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-none] PASSED [ 59%] 1150s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-none] PASSED [ 59%] 1150s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-none] PASSED [ 59%] 1150s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-none] PASSED [ 59%] 1150s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-none] PASSED [ 59%] 1150s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-none] PASSED [ 59%] 1150s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 59%] 1151s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-previous] PASSED [ 59%] 1151s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 59%] 1151s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-next] PASSED [ 59%] 1151s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 59%] 1151s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[neither] PASSED [ 59%] 1151s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[neither] PASSED [ 59%] 1151s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[neither] PASSED [ 59%] 1151s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[neither] PASSED [ 59%] 1151s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[neither] PASSED [ 59%] 1151s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[neither] PASSED [ 59%] 1151s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[neither] PASSED [ 59%] 1151s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[neither] PASSED [ 59%] 1151s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[neither] PASSED [ 59%] 1152s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[neither] PASSED [ 59%] 1152s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[neither] PASSED [ 59%] 1152s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[neither] PASSED [ 59%] 1152s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[neither] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[neither] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[neither] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[neither] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[neither] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[neither] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[neither] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[neither] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[right] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[right] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[right] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[right] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[right] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[right] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[right] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[right] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[right] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[right] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[left] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[left] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[left] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[left] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[left] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[left] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[left] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[left] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[left] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[left] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[both] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[both] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[both] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[both] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[both] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[both] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[both] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[both] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[both] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[both] PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_has_break PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_regular_holidays_sample PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_adhoc_holidays_sample PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_holidays_sample PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_late_opens_sample PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_sample PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_sample_time PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_weekdays PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_weekdays_time PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_early_closes_sample PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_early_closes_sample_time PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_late_opens PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_open_close_break_start_end PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_has_break PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_next_prev_session PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_offset PASSED [ 59%] 1153s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_session PASSED [ 59%] 1154s tests/test_xlis_calendar.py::TestXLISCalendar::test_date_to_session PASSED [ 59%] 1156s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_open_close PASSED [ 59%] 1156s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_in_range PASSED [ 60%] 1156s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_has_break PASSED [ 60%] 1156s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_window PASSED [ 60%] 1156s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_distance PASSED [ 60%] 1156s tests/test_xlis_calendar.py::TestXLISCalendar::test_trading_index PASSED [ 60%] 1156s tests/test_xlis_calendar.py::TestXLISCalendar::test_deprecated PASSED [ 60%] 1156s tests/test_xlon_calendar.py::TestXLONCalendar::test_testbase_integrity PASSED [ 60%] 1156s tests/test_xlon_calendar.py::TestXLONCalendar::test_base_integrity PASSED [ 60%] 1160s tests/test_xlon_calendar.py::TestXLONCalendar::test_calculated_against_csv PASSED [ 60%] 1160s tests/test_xlon_calendar.py::TestXLONCalendar::test_start_end PASSED [ 60%] 1160s tests/test_xlon_calendar.py::TestXLONCalendar::test_invalid_input PASSED [ 60%] 1162s tests/test_xlon_calendar.py::TestXLONCalendar::test_bound_min PASSED [ 60%] 1163s tests/test_xlon_calendar.py::TestXLONCalendar::test_bound_max PASSED [ 60%] 1163s tests/test_xlon_calendar.py::TestXLONCalendar::test_sanity_check_session_lengths PASSED [ 60%] 1163s tests/test_xlon_calendar.py::TestXLONCalendar::test_adhoc_holidays_specification PASSED [ 60%] 1163s tests/test_xlon_calendar.py::TestXLONCalendar::test_daylight_savings PASSED [ 60%] 1163s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions PASSED [ 60%] 1163s tests/test_xlon_calendar.py::TestXLONCalendar::test_opens_closes_break_starts_ends PASSED [ 60%] 1163s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[both] PASSED [ 60%] 1163s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[both] PASSED [ 60%] 1164s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[both] PASSED [ 60%] 1164s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[both] PASSED [ 60%] 1164s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[both] PASSED [ 60%] 1164s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[both] PASSED [ 60%] 1164s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[both] PASSED [ 60%] 1164s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[both] PASSED [ 60%] 1164s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[both] PASSED [ 60%] 1165s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[both] PASSED [ 60%] 1165s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-next] PASSED [ 60%] 1165s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-next] PASSED [ 60%] 1165s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-next] PASSED [ 60%] 1165s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-next] PASSED [ 60%] 1165s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[left] PASSED [ 60%] 1166s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[left] PASSED [ 60%] 1166s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[left] PASSED [ 60%] 1166s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[left] PASSED [ 60%] 1166s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[left] PASSED [ 60%] 1166s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[left] PASSED [ 60%] 1166s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[left] PASSED [ 60%] 1166s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[left] PASSED [ 60%] 1166s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[left] PASSED [ 60%] 1168s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[left] PASSED [ 60%] 1168s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-previous] PASSED [ 60%] 1168s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 60%] 1168s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-previous] PASSED [ 60%] 1168s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 60%] 1168s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-previous] PASSED [ 60%] 1168s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 60%] 1168s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-next] PASSED [ 60%] 1168s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-next] PASSED [ 60%] 1168s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[right] PASSED [ 60%] 1168s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[right] PASSED [ 60%] 1168s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[right] PASSED [ 60%] 1168s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[right] PASSED [ 60%] 1168s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[right] PASSED [ 60%] 1168s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[right] PASSED [ 60%] 1168s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[right] PASSED [ 60%] 1168s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[right] PASSED [ 60%] 1169s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[right] PASSED [ 60%] 1170s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[right] PASSED [ 60%] 1170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-none] PASSED [ 60%] 1170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-none] PASSED [ 60%] 1170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-none] PASSED [ 60%] 1170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-none] PASSED [ 60%] 1170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-none] PASSED [ 60%] 1170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-none] PASSED [ 60%] 1170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-none] PASSED [ 60%] 1170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 60%] 1170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-previous] PASSED [ 60%] 1170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 60%] 1170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-next] PASSED [ 60%] 1170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 60%] 1170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[neither] PASSED [ 60%] 1171s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[neither] PASSED [ 60%] 1171s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[neither] PASSED [ 60%] 1171s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[neither] PASSED [ 60%] 1171s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[neither] PASSED [ 60%] 1171s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[neither] PASSED [ 60%] 1171s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[neither] PASSED [ 60%] 1171s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[neither] PASSED [ 60%] 1171s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[neither] PASSED [ 60%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[neither] PASSED [ 60%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[neither] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[neither] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[neither] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[neither] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[neither] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[neither] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[neither] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[neither] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[neither] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[neither] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[right] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[right] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[right] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[right] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[right] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[right] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[right] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[right] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[right] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[right] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[left] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[left] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[left] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[left] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[left] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[left] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[left] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[left] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[left] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[left] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[both] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[both] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[both] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[both] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[both] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[both] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[both] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[both] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[both] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[both] PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_has_break PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_regular_holidays_sample PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_adhoc_holidays_sample PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_holidays_sample PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_late_opens_sample PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_sample PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_sample_time PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_weekdays PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_weekdays_time PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_early_closes_sample PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_early_closes_sample_time PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_late_opens PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_open_close_break_start_end PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_has_break PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_next_prev_session PASSED [ 61%] 1173s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_offset PASSED [ 61%] 1174s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_session PASSED [ 61%] 1174s tests/test_xlon_calendar.py::TestXLONCalendar::test_date_to_session PASSED [ 61%] 1176s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_open_close PASSED [ 61%] 1176s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_in_range PASSED [ 61%] 1176s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_has_break PASSED [ 61%] 1176s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_window PASSED [ 61%] 1176s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_distance PASSED [ 61%] 1177s tests/test_xlon_calendar.py::TestXLONCalendar::test_trading_index PASSED [ 61%] 1177s tests/test_xlon_calendar.py::TestXLONCalendar::test_deprecated PASSED [ 61%] 1177s tests/test_xmad_calendar.py::TestXMADCalendar::test_testbase_integrity PASSED [ 61%] 1177s tests/test_xmad_calendar.py::TestXMADCalendar::test_base_integrity PASSED [ 61%] 1180s tests/test_xmad_calendar.py::TestXMADCalendar::test_calculated_against_csv PASSED [ 61%] 1180s tests/test_xmad_calendar.py::TestXMADCalendar::test_start_end PASSED [ 61%] 1180s tests/test_xmad_calendar.py::TestXMADCalendar::test_invalid_input PASSED [ 61%] 1182s tests/test_xmad_calendar.py::TestXMADCalendar::test_bound_min PASSED [ 61%] 1183s tests/test_xmad_calendar.py::TestXMADCalendar::test_bound_max PASSED [ 61%] 1183s tests/test_xmad_calendar.py::TestXMADCalendar::test_sanity_check_session_lengths PASSED [ 61%] 1183s tests/test_xmad_calendar.py::TestXMADCalendar::test_adhoc_holidays_specification PASSED [ 61%] 1183s tests/test_xmad_calendar.py::TestXMADCalendar::test_daylight_savings PASSED [ 61%] 1183s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions PASSED [ 61%] 1183s tests/test_xmad_calendar.py::TestXMADCalendar::test_opens_closes_break_starts_ends PASSED [ 61%] 1183s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[both] PASSED [ 61%] 1183s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[both] PASSED [ 61%] 1183s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[both] PASSED [ 61%] 1183s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[both] PASSED [ 61%] 1183s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[both] PASSED [ 62%] 1183s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[both] PASSED [ 62%] 1183s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[both] PASSED [ 62%] 1183s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[both] PASSED [ 62%] 1184s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[both] PASSED [ 62%] 1185s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[both] PASSED [ 62%] 1185s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-next] PASSED [ 62%] 1185s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-next] PASSED [ 62%] 1185s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-next] PASSED [ 62%] 1185s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-next] PASSED [ 62%] 1185s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[left] PASSED [ 62%] 1186s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[left] PASSED [ 62%] 1186s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[left] PASSED [ 62%] 1186s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[left] PASSED [ 62%] 1186s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[left] PASSED [ 62%] 1186s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[left] PASSED [ 62%] 1186s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[left] PASSED [ 62%] 1186s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[left] PASSED [ 62%] 1186s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[left] PASSED [ 62%] 1187s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[left] PASSED [ 62%] 1187s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-previous] PASSED [ 62%] 1187s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 62%] 1187s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-previous] PASSED [ 62%] 1187s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 62%] 1188s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-previous] PASSED [ 62%] 1188s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 62%] 1188s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-next] PASSED [ 62%] 1188s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-next] PASSED [ 62%] 1188s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[right] PASSED [ 62%] 1188s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[right] PASSED [ 62%] 1188s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[right] PASSED [ 62%] 1188s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[right] PASSED [ 62%] 1188s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[right] PASSED [ 62%] 1188s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[right] PASSED [ 62%] 1188s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[right] PASSED [ 62%] 1188s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[right] PASSED [ 62%] 1188s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[right] PASSED [ 62%] 1190s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[right] PASSED [ 62%] 1190s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-none] PASSED [ 62%] 1190s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-none] PASSED [ 62%] 1190s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-none] PASSED [ 62%] 1190s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-none] PASSED [ 62%] 1190s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-none] PASSED [ 62%] 1190s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-none] PASSED [ 62%] 1190s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-none] PASSED [ 62%] 1190s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 62%] 1190s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-previous] PASSED [ 62%] 1190s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 62%] 1190s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-next] PASSED [ 62%] 1190s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 62%] 1190s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[neither] PASSED [ 62%] 1191s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[neither] PASSED [ 62%] 1191s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[neither] PASSED [ 62%] 1191s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[neither] PASSED [ 62%] 1191s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[neither] PASSED [ 62%] 1191s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[neither] PASSED [ 62%] 1191s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[neither] PASSED [ 62%] 1191s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[neither] PASSED [ 62%] 1191s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[neither] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[neither] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[neither] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[neither] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[neither] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[neither] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[neither] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[neither] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[neither] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[neither] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[neither] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[neither] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[right] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[right] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[right] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[right] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[right] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[right] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[right] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[right] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[right] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[right] PASSED [ 62%] 1192s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[left] PASSED [ 62%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[left] PASSED [ 62%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[left] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[left] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[left] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[left] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[left] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[left] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[left] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[left] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[both] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[both] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[both] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[both] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[both] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[both] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[both] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[both] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[both] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[both] PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_has_break PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_regular_holidays_sample PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_adhoc_holidays_sample PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_holidays_sample PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_late_opens_sample PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_sample PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_sample_time PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_weekdays PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_weekdays_time PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_early_closes_sample PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_early_closes_sample_time PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_late_opens PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_open_close_break_start_end PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_has_break PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_next_prev_session PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_offset PASSED [ 63%] 1193s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_session PASSED [ 63%] 1194s tests/test_xmad_calendar.py::TestXMADCalendar::test_date_to_session PASSED [ 63%] 1196s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_open_close PASSED [ 63%] 1196s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_in_range PASSED [ 63%] 1196s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_has_break PASSED [ 63%] 1196s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_window PASSED [ 63%] 1196s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_distance PASSED [ 63%] 1196s tests/test_xmad_calendar.py::TestXMADCalendar::test_trading_index PASSED [ 63%] 1196s tests/test_xmad_calendar.py::TestXMADCalendar::test_deprecated PASSED [ 63%] 1196s tests/test_xmex_calendar.py::TestXMEXCalendar::test_testbase_integrity PASSED [ 63%] 1196s tests/test_xmex_calendar.py::TestXMEXCalendar::test_base_integrity PASSED [ 63%] 1199s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calculated_against_csv PASSED [ 63%] 1200s tests/test_xmex_calendar.py::TestXMEXCalendar::test_start_end PASSED [ 63%] 1200s tests/test_xmex_calendar.py::TestXMEXCalendar::test_invalid_input PASSED [ 63%] 1202s tests/test_xmex_calendar.py::TestXMEXCalendar::test_bound_min PASSED [ 63%] 1203s tests/test_xmex_calendar.py::TestXMEXCalendar::test_bound_max PASSED [ 63%] 1203s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sanity_check_session_lengths PASSED [ 63%] 1203s tests/test_xmex_calendar.py::TestXMEXCalendar::test_adhoc_holidays_specification PASSED [ 63%] 1203s tests/test_xmex_calendar.py::TestXMEXCalendar::test_daylight_savings PASSED [ 63%] 1203s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions PASSED [ 63%] 1203s tests/test_xmex_calendar.py::TestXMEXCalendar::test_opens_closes_break_starts_ends PASSED [ 63%] 1203s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[both] PASSED [ 63%] 1203s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[both] PASSED [ 63%] 1203s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[both] PASSED [ 63%] 1203s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[both] PASSED [ 63%] 1203s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[both] PASSED [ 63%] 1203s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[both] PASSED [ 63%] 1203s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[both] PASSED [ 63%] 1203s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[both] PASSED [ 63%] 1203s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[both] PASSED [ 63%] 1205s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[both] PASSED [ 63%] 1205s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-next] PASSED [ 63%] 1205s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 63%] 1205s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-next] PASSED [ 63%] 1205s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 63%] 1205s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[left] PASSED [ 63%] 1205s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[left] PASSED [ 63%] 1205s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[left] PASSED [ 63%] 1205s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[left] PASSED [ 63%] 1205s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[left] PASSED [ 63%] 1205s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[left] PASSED [ 63%] 1205s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[left] PASSED [ 63%] 1205s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[left] PASSED [ 63%] 1205s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[left] PASSED [ 63%] 1207s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[left] PASSED [ 63%] 1207s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-previous] PASSED [ 63%] 1207s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 64%] 1207s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-previous] PASSED [ 64%] 1207s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 64%] 1207s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-previous] PASSED [ 64%] 1207s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 64%] 1207s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-next] PASSED [ 64%] 1207s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 64%] 1207s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[right] PASSED [ 64%] 1207s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[right] PASSED [ 64%] 1207s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[right] PASSED [ 64%] 1207s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[right] PASSED [ 64%] 1207s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[right] PASSED [ 64%] 1207s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[right] PASSED [ 64%] 1207s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[right] PASSED [ 64%] 1207s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[right] PASSED [ 64%] 1208s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[right] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[right] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-none] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-none] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-none] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-none] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-previous] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-next] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[neither] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[neither] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[neither] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[neither] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[neither] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[neither] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[neither] PASSED [ 64%] 1209s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[neither] PASSED [ 64%] 1210s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[neither] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[neither] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[neither] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[neither] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[neither] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[neither] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[neither] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[neither] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[neither] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[neither] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[neither] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[right] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[right] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[right] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[right] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[right] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[right] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[right] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[right] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[right] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[right] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[left] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[left] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[left] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[left] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[left] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[left] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[left] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[left] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[left] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[left] PASSED [ 64%] 1211s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[both] PASSED [ 64%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[both] PASSED [ 64%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[both] PASSED [ 64%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[both] PASSED [ 64%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[both] PASSED [ 64%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[both] PASSED [ 64%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[both] PASSED [ 64%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[both] PASSED [ 64%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[both] PASSED [ 64%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[both] PASSED [ 64%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_has_break PASSED [ 64%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_regular_holidays_sample PASSED [ 64%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_adhoc_holidays_sample PASSED [ 64%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_holidays_sample PASSED [ 65%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_late_opens_sample PASSED [ 65%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_sample PASSED [ 65%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_sample_time PASSED [ 65%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_weekdays PASSED [ 65%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_weekdays_time PASSED [ 65%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_early_closes_sample PASSED [ 65%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_early_closes_sample_time PASSED [ 65%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_late_opens PASSED [ 65%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes PASSED [ 65%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_open_close_break_start_end PASSED [ 65%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_has_break PASSED [ 65%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_next_prev_session PASSED [ 65%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_offset PASSED [ 65%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_session PASSED [ 65%] 1212s tests/test_xmex_calendar.py::TestXMEXCalendar::test_date_to_session PASSED [ 65%] 1215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_open_close PASSED [ 65%] 1215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_in_range PASSED [ 65%] 1215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_has_break PASSED [ 65%] 1215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_window PASSED [ 65%] 1215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_distance PASSED [ 65%] 1215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_trading_index PASSED [ 65%] 1215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_deprecated PASSED [ 65%] 1215s tests/test_xmil_calendar.py::TestXMILCalendar::test_testbase_integrity PASSED [ 65%] 1215s tests/test_xmil_calendar.py::TestXMILCalendar::test_base_integrity PASSED [ 65%] 1218s tests/test_xmil_calendar.py::TestXMILCalendar::test_calculated_against_csv PASSED [ 65%] 1218s tests/test_xmil_calendar.py::TestXMILCalendar::test_start_end PASSED [ 65%] 1218s tests/test_xmil_calendar.py::TestXMILCalendar::test_invalid_input PASSED [ 65%] 1220s tests/test_xmil_calendar.py::TestXMILCalendar::test_bound_min PASSED [ 65%] 1221s tests/test_xmil_calendar.py::TestXMILCalendar::test_bound_max PASSED [ 65%] 1221s tests/test_xmil_calendar.py::TestXMILCalendar::test_sanity_check_session_lengths PASSED [ 65%] 1221s tests/test_xmil_calendar.py::TestXMILCalendar::test_adhoc_holidays_specification PASSED [ 65%] 1221s tests/test_xmil_calendar.py::TestXMILCalendar::test_daylight_savings PASSED [ 65%] 1221s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions PASSED [ 65%] 1221s tests/test_xmil_calendar.py::TestXMILCalendar::test_opens_closes_break_starts_ends PASSED [ 65%] 1221s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[both] PASSED [ 65%] 1221s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[both] PASSED [ 65%] 1221s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[both] PASSED [ 65%] 1221s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[both] PASSED [ 65%] 1221s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[both] PASSED [ 65%] 1221s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[both] PASSED [ 65%] 1221s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[both] PASSED [ 65%] 1221s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[both] PASSED [ 65%] 1222s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[both] PASSED [ 65%] 1223s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[both] PASSED [ 65%] 1223s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-next] PASSED [ 65%] 1223s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-next] PASSED [ 65%] 1223s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-next] PASSED [ 65%] 1223s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-next] PASSED [ 65%] 1223s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[left] PASSED [ 65%] 1223s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[left] PASSED [ 65%] 1223s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[left] PASSED [ 65%] 1223s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[left] PASSED [ 65%] 1223s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[left] PASSED [ 65%] 1223s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[left] PASSED [ 65%] 1223s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[left] PASSED [ 65%] 1223s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[left] PASSED [ 65%] 1224s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[left] PASSED [ 65%] 1225s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[left] PASSED [ 65%] 1225s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-previous] PASSED [ 65%] 1225s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 65%] 1225s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-previous] PASSED [ 65%] 1225s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 65%] 1225s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-previous] PASSED [ 65%] 1225s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 65%] 1225s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-next] PASSED [ 65%] 1225s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-next] PASSED [ 65%] 1225s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[right] PASSED [ 65%] 1225s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[right] PASSED [ 65%] 1225s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[right] PASSED [ 65%] 1225s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[right] PASSED [ 65%] 1225s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[right] PASSED [ 65%] 1225s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[right] PASSED [ 65%] 1225s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[right] PASSED [ 65%] 1225s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[right] PASSED [ 65%] 1226s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[right] PASSED [ 65%] 1227s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[right] PASSED [ 65%] 1227s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-none] PASSED [ 65%] 1227s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-none] PASSED [ 65%] 1227s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-none] PASSED [ 65%] 1227s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-none] PASSED [ 65%] 1227s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-none] PASSED [ 65%] 1227s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-none] PASSED [ 66%] 1227s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-none] PASSED [ 66%] 1227s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 66%] 1227s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-previous] PASSED [ 66%] 1227s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 66%] 1227s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-next] PASSED [ 66%] 1227s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 66%] 1227s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[neither] PASSED [ 66%] 1228s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[neither] PASSED [ 66%] 1228s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[neither] PASSED [ 66%] 1228s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[neither] PASSED [ 66%] 1228s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[neither] PASSED [ 66%] 1228s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[neither] PASSED [ 66%] 1228s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[neither] PASSED [ 66%] 1228s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[neither] PASSED [ 66%] 1228s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[neither] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[neither] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[neither] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[neither] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[neither] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[neither] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[neither] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[neither] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[neither] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[neither] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[neither] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[neither] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[right] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[right] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[right] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[right] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[right] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[right] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[right] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[right] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[right] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[right] PASSED [ 66%] 1229s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[left] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[left] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[left] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[left] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[left] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[left] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[left] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[left] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[left] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[left] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[both] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[both] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[both] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[both] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[both] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[both] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[both] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[both] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[both] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[both] PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_has_break PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_regular_holidays_sample PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_adhoc_holidays_sample PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_holidays_sample PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_late_opens_sample PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_sample PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_sample_time PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_weekdays PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_weekdays_time PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_early_closes_sample PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_early_closes_sample_time PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_late_opens PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_open_close_break_start_end PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_has_break PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_next_prev_session PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_offset PASSED [ 66%] 1230s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_session PASSED [ 66%] 1231s tests/test_xmil_calendar.py::TestXMILCalendar::test_date_to_session PASSED [ 66%] 1233s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_open_close PASSED [ 66%] 1233s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_in_range PASSED [ 66%] 1233s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_has_break PASSED [ 66%] 1233s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_window PASSED [ 66%] 1233s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_distance PASSED [ 66%] 1233s tests/test_xmil_calendar.py::TestXMILCalendar::test_trading_index PASSED [ 66%] 1233s tests/test_xmil_calendar.py::TestXMILCalendar::test_deprecated PASSED [ 67%] 1233s tests/test_xmos_calendar.py::TestXMOSCalendar::test_testbase_integrity PASSED [ 67%] 1233s tests/test_xmos_calendar.py::TestXMOSCalendar::test_base_integrity PASSED [ 67%] 1251s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calculated_against_csv PASSED [ 67%] 1255s tests/test_xmos_calendar.py::TestXMOSCalendar::test_start_end PASSED [ 67%] 1257s tests/test_xmos_calendar.py::TestXMOSCalendar::test_invalid_input PASSED [ 67%] 1268s tests/test_xmos_calendar.py::TestXMOSCalendar::test_bound_min PASSED [ 67%] 1272s tests/test_xmos_calendar.py::TestXMOSCalendar::test_bound_max PASSED [ 67%] 1272s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sanity_check_session_lengths PASSED [ 67%] 1272s tests/test_xmos_calendar.py::TestXMOSCalendar::test_adhoc_holidays_specification PASSED [ 67%] 1272s tests/test_xmos_calendar.py::TestXMOSCalendar::test_daylight_savings PASSED [ 67%] 1272s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions PASSED [ 67%] 1272s tests/test_xmos_calendar.py::TestXMOSCalendar::test_opens_closes_break_starts_ends PASSED [ 67%] 1272s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[both] PASSED [ 67%] 1272s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[both] PASSED [ 67%] 1272s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[both] PASSED [ 67%] 1272s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[both] PASSED [ 67%] 1272s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[both] PASSED [ 67%] 1272s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[both] PASSED [ 67%] 1272s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[both] PASSED [ 67%] 1272s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[both] PASSED [ 67%] 1273s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[both] PASSED [ 67%] 1274s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[both] PASSED [ 67%] 1274s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-next] PASSED [ 67%] 1274s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 67%] 1274s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-next] PASSED [ 67%] 1274s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 67%] 1274s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[left] PASSED [ 67%] 1275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[left] PASSED [ 67%] 1275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[left] PASSED [ 67%] 1275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[left] PASSED [ 67%] 1275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[left] PASSED [ 67%] 1275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[left] PASSED [ 67%] 1275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[left] PASSED [ 67%] 1275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[left] PASSED [ 67%] 1275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[left] PASSED [ 67%] 1277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[left] PASSED [ 67%] 1277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-previous] PASSED [ 67%] 1277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 67%] 1277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-previous] PASSED [ 67%] 1277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 67%] 1277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-previous] PASSED [ 67%] 1277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 67%] 1277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-next] PASSED [ 67%] 1277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 67%] 1277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[right] PASSED [ 67%] 1277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[right] PASSED [ 67%] 1277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[right] PASSED [ 67%] 1277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[right] PASSED [ 67%] 1277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[right] PASSED [ 67%] 1277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[right] PASSED [ 67%] 1277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[right] PASSED [ 67%] 1277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[right] PASSED [ 67%] 1278s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[right] PASSED [ 67%] 1279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[right] PASSED [ 67%] 1279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-none] PASSED [ 67%] 1279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 67%] 1279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-none] PASSED [ 67%] 1279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 67%] 1279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-none] PASSED [ 67%] 1279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 67%] 1279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-none] PASSED [ 67%] 1279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 67%] 1279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-previous] PASSED [ 67%] 1279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 67%] 1279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-next] PASSED [ 67%] 1279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 67%] 1279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[neither] PASSED [ 67%] 1280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[neither] PASSED [ 67%] 1280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[neither] PASSED [ 67%] 1280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[neither] PASSED [ 67%] 1280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[neither] PASSED [ 67%] 1280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[neither] PASSED [ 67%] 1280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[neither] PASSED [ 67%] 1280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[neither] PASSED [ 67%] 1280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[neither] PASSED [ 67%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[neither] PASSED [ 67%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[neither] PASSED [ 67%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[neither] PASSED [ 67%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[neither] PASSED [ 67%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 67%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[neither] PASSED [ 67%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[neither] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[neither] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[neither] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[neither] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[neither] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[right] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[right] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[right] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[right] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[right] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[right] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[right] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[right] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[right] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[right] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[left] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[left] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[left] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[left] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[left] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[left] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[left] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[left] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[left] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[left] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[both] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[both] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[both] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[both] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[both] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[both] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[both] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[both] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[both] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[both] PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_has_break PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_regular_holidays_sample PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_adhoc_holidays_sample PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_holidays_sample PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_late_opens_sample PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_sample PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_sample_time PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_weekdays PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_weekdays_time PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_early_closes_sample PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_early_closes_sample_time PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_late_opens PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_open_close_break_start_end PASSED [ 68%] 1282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_has_break PASSED [ 68%] 1283s tests/test_xmos_calendar.py::TestXMOSCalendar::test_next_prev_session PASSED [ 68%] 1283s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_offset PASSED [ 68%] 1283s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_session PASSED [ 68%] 1283s tests/test_xmos_calendar.py::TestXMOSCalendar::test_date_to_session PASSED [ 68%] 1286s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_open_close PASSED [ 68%] 1286s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_in_range PASSED [ 68%] 1286s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_has_break PASSED [ 68%] 1286s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_window PASSED [ 68%] 1286s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_distance PASSED [ 68%] 1286s tests/test_xmos_calendar.py::TestXMOSCalendar::test_trading_index PASSED [ 68%] 1286s tests/test_xmos_calendar.py::TestXMOSCalendar::test_deprecated PASSED [ 68%] 1286s tests/test_xnys_calendar.py::TestXNYSCalendar::test_testbase_integrity PASSED [ 68%] 1286s tests/test_xnys_calendar.py::TestXNYSCalendar::test_base_integrity PASSED [ 68%] 1289s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calculated_against_csv PASSED [ 68%] 1290s tests/test_xnys_calendar.py::TestXNYSCalendar::test_start_end PASSED [ 68%] 1290s tests/test_xnys_calendar.py::TestXNYSCalendar::test_invalid_input PASSED [ 68%] 1292s tests/test_xnys_calendar.py::TestXNYSCalendar::test_bound_min PASSED [ 68%] 1293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_bound_max PASSED [ 68%] 1293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sanity_check_session_lengths PASSED [ 68%] 1293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_adhoc_holidays_specification PASSED [ 68%] 1293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_daylight_savings PASSED [ 68%] 1293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions PASSED [ 68%] 1293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_opens_closes_break_starts_ends PASSED [ 68%] 1293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[both] PASSED [ 68%] 1294s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[both] PASSED [ 68%] 1294s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[both] PASSED [ 68%] 1294s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[both] PASSED [ 68%] 1294s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[both] PASSED [ 68%] 1294s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[both] PASSED [ 68%] 1294s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[both] PASSED [ 68%] 1294s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[both] PASSED [ 68%] 1294s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[both] PASSED [ 68%] 1295s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[both] PASSED [ 69%] 1295s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-next] PASSED [ 69%] 1295s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 69%] 1295s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-next] PASSED [ 69%] 1295s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 69%] 1296s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[left] PASSED [ 69%] 1296s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[left] PASSED [ 69%] 1296s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[left] PASSED [ 69%] 1296s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[left] PASSED [ 69%] 1296s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[left] PASSED [ 69%] 1296s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[left] PASSED [ 69%] 1296s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[left] PASSED [ 69%] 1296s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[left] PASSED [ 69%] 1296s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[left] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[left] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-previous] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-previous] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-previous] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-next] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[right] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[right] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[right] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[right] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[right] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[right] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[right] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[right] PASSED [ 69%] 1298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[right] PASSED [ 69%] 1300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[right] PASSED [ 69%] 1300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-none] PASSED [ 69%] 1300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 69%] 1300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-none] PASSED [ 69%] 1300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 69%] 1300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-none] PASSED [ 69%] 1300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 69%] 1300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-none] PASSED [ 69%] 1300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 69%] 1300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-previous] PASSED [ 69%] 1300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 69%] 1300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-next] PASSED [ 69%] 1300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 69%] 1300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[neither] PASSED [ 69%] 1301s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[neither] PASSED [ 69%] 1301s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[neither] PASSED [ 69%] 1301s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[neither] PASSED [ 69%] 1301s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[neither] PASSED [ 69%] 1301s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[neither] PASSED [ 69%] 1301s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[neither] PASSED [ 69%] 1301s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[neither] PASSED [ 69%] 1301s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[neither] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[neither] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[neither] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[neither] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[neither] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[neither] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[neither] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[neither] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[neither] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[neither] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[neither] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[right] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[right] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[right] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[right] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[right] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[right] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[right] PASSED [ 69%] 1302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[right] PASSED [ 69%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[right] PASSED [ 69%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[right] PASSED [ 69%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[left] PASSED [ 69%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[left] PASSED [ 69%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[left] PASSED [ 69%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[left] PASSED [ 69%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[left] PASSED [ 69%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[left] PASSED [ 69%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[left] PASSED [ 69%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[left] PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[left] PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[left] PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[both] PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[both] PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[both] PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[both] PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[both] PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[both] PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[both] PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[both] PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[both] PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[both] PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_has_break PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_regular_holidays_sample PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_adhoc_holidays_sample PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_holidays_sample PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_late_opens_sample PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_sample PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_sample_time PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_weekdays PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_weekdays_time PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_early_closes_sample PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_early_closes_sample_time PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_late_opens PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_open_close_break_start_end PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_has_break PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_next_prev_session PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_offset PASSED [ 70%] 1303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_session PASSED [ 70%] 1304s tests/test_xnys_calendar.py::TestXNYSCalendar::test_date_to_session PASSED [ 70%] 1306s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_open_close PASSED [ 70%] 1306s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_in_range PASSED [ 70%] 1306s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_has_break PASSED [ 70%] 1306s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_window PASSED [ 70%] 1306s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_distance PASSED [ 70%] 1306s tests/test_xnys_calendar.py::TestXNYSCalendar::test_trading_index PASSED [ 70%] 1306s tests/test_xnys_calendar.py::TestXNYSCalendar::test_deprecated PASSED [ 70%] 1306s tests/test_xnze_calendar.py::TestXNZECalendar::test_testbase_integrity PASSED [ 70%] 1306s tests/test_xnze_calendar.py::TestXNZECalendar::test_base_integrity PASSED [ 70%] 1310s tests/test_xnze_calendar.py::TestXNZECalendar::test_calculated_against_csv PASSED [ 70%] 1310s tests/test_xnze_calendar.py::TestXNZECalendar::test_start_end PASSED [ 70%] 1310s tests/test_xnze_calendar.py::TestXNZECalendar::test_invalid_input PASSED [ 70%] 1312s tests/test_xnze_calendar.py::TestXNZECalendar::test_bound_min PASSED [ 70%] 1313s tests/test_xnze_calendar.py::TestXNZECalendar::test_bound_max PASSED [ 70%] 1313s tests/test_xnze_calendar.py::TestXNZECalendar::test_sanity_check_session_lengths PASSED [ 70%] 1313s tests/test_xnze_calendar.py::TestXNZECalendar::test_adhoc_holidays_specification PASSED [ 70%] 1313s tests/test_xnze_calendar.py::TestXNZECalendar::test_daylight_savings PASSED [ 70%] 1313s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions PASSED [ 70%] 1313s tests/test_xnze_calendar.py::TestXNZECalendar::test_opens_closes_break_starts_ends PASSED [ 70%] 1313s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[both] PASSED [ 70%] 1313s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[both] PASSED [ 70%] 1313s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[both] PASSED [ 70%] 1313s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[both] PASSED [ 70%] 1314s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[both] PASSED [ 70%] 1314s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[both] PASSED [ 70%] 1314s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[both] PASSED [ 70%] 1314s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[both] PASSED [ 70%] 1314s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[both] PASSED [ 70%] 1315s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[both] PASSED [ 70%] 1315s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-next] PASSED [ 70%] 1315s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-next] PASSED [ 70%] 1315s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-next] PASSED [ 70%] 1315s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-next] PASSED [ 70%] 1315s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[left] PASSED [ 70%] 1316s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[left] PASSED [ 70%] 1316s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[left] PASSED [ 70%] 1316s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[left] PASSED [ 70%] 1316s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[left] PASSED [ 70%] 1316s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[left] PASSED [ 70%] 1316s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[left] PASSED [ 70%] 1316s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[left] PASSED [ 70%] 1316s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[left] PASSED [ 70%] 1317s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[left] PASSED [ 70%] 1317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-previous] PASSED [ 70%] 1317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 70%] 1317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-previous] PASSED [ 70%] 1317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 70%] 1318s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-previous] PASSED [ 70%] 1318s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 70%] 1318s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-next] PASSED [ 70%] 1318s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-next] PASSED [ 71%] 1318s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[right] PASSED [ 71%] 1318s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[right] PASSED [ 71%] 1318s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[right] PASSED [ 71%] 1318s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[right] PASSED [ 71%] 1318s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[right] PASSED [ 71%] 1318s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[right] PASSED [ 71%] 1318s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[right] PASSED [ 71%] 1318s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[right] PASSED [ 71%] 1318s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[right] PASSED [ 71%] 1320s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[right] PASSED [ 71%] 1320s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-none] PASSED [ 71%] 1320s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-none] PASSED [ 71%] 1320s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-none] PASSED [ 71%] 1320s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-none] PASSED [ 71%] 1320s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-none] PASSED [ 71%] 1320s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-none] PASSED [ 71%] 1320s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-none] PASSED [ 71%] 1320s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 71%] 1320s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-previous] PASSED [ 71%] 1320s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 71%] 1320s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-next] PASSED [ 71%] 1320s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 71%] 1320s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[neither] PASSED [ 71%] 1321s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[neither] PASSED [ 71%] 1321s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[neither] PASSED [ 71%] 1321s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[neither] PASSED [ 71%] 1321s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[neither] PASSED [ 71%] 1321s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[neither] PASSED [ 71%] 1321s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[neither] PASSED [ 71%] 1321s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[neither] PASSED [ 71%] 1321s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[neither] PASSED [ 71%] 1322s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[neither] PASSED [ 71%] 1322s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[neither] PASSED [ 71%] 1322s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[neither] PASSED [ 71%] 1322s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[neither] PASSED [ 71%] 1322s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[neither] PASSED [ 71%] 1322s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[neither] PASSED [ 71%] 1322s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[neither] PASSED [ 71%] 1322s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[neither] PASSED [ 71%] 1322s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[neither] PASSED [ 71%] 1322s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[neither] PASSED [ 71%] 1322s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[neither] PASSED [ 71%] 1322s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[right] PASSED [ 71%] 1322s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[right] PASSED [ 71%] 1322s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[right] PASSED [ 71%] 1322s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[right] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[right] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[right] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[right] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[right] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[right] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[right] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[left] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[left] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[left] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[left] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[left] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[left] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[left] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[left] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[left] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[left] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[both] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[both] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[both] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[both] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[both] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[both] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[both] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[both] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[both] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[both] PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_has_break PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_regular_holidays_sample PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_adhoc_holidays_sample PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_holidays_sample PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_late_opens_sample PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_sample PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_sample_time PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_weekdays PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_weekdays_time PASSED [ 71%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_early_closes_sample PASSED [ 72%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_early_closes_sample_time PASSED [ 72%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_late_opens PASSED [ 72%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes PASSED [ 72%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_open_close_break_start_end PASSED [ 72%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_has_break PASSED [ 72%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_next_prev_session PASSED [ 72%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_offset PASSED [ 72%] 1323s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_session PASSED [ 72%] 1324s tests/test_xnze_calendar.py::TestXNZECalendar::test_date_to_session PASSED [ 72%] 1326s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_open_close PASSED [ 72%] 1326s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_in_range PASSED [ 72%] 1326s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_has_break PASSED [ 72%] 1326s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_window PASSED [ 72%] 1326s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_distance PASSED [ 72%] 1326s tests/test_xnze_calendar.py::TestXNZECalendar::test_trading_index PASSED [ 72%] 1326s tests/test_xnze_calendar.py::TestXNZECalendar::test_deprecated PASSED [ 72%] 1326s tests/test_xosl_calendar.py::TestXOSLCalendar::test_testbase_integrity PASSED [ 72%] 1326s tests/test_xosl_calendar.py::TestXOSLCalendar::test_base_integrity PASSED [ 72%] 1330s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calculated_against_csv PASSED [ 72%] 1330s tests/test_xosl_calendar.py::TestXOSLCalendar::test_start_end PASSED [ 72%] 1330s tests/test_xosl_calendar.py::TestXOSLCalendar::test_invalid_input PASSED [ 72%] 1332s tests/test_xosl_calendar.py::TestXOSLCalendar::test_bound_min PASSED [ 72%] 1333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_bound_max PASSED [ 72%] 1333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sanity_check_session_lengths PASSED [ 72%] 1333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_adhoc_holidays_specification PASSED [ 72%] 1333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_daylight_savings PASSED [ 72%] 1333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions PASSED [ 72%] 1333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_opens_closes_break_starts_ends PASSED [ 72%] 1333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[both] PASSED [ 72%] 1333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[both] PASSED [ 72%] 1333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[both] PASSED [ 72%] 1333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[both] PASSED [ 72%] 1333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[both] PASSED [ 72%] 1333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[both] PASSED [ 72%] 1334s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[both] PASSED [ 72%] 1334s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[both] PASSED [ 72%] 1334s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[both] PASSED [ 72%] 1335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[both] PASSED [ 72%] 1335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-next] PASSED [ 72%] 1335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-next] PASSED [ 72%] 1335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-next] PASSED [ 72%] 1335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-next] PASSED [ 72%] 1335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[left] PASSED [ 72%] 1336s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[left] PASSED [ 72%] 1336s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[left] PASSED [ 72%] 1336s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[left] PASSED [ 72%] 1336s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[left] PASSED [ 72%] 1336s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[left] PASSED [ 72%] 1336s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[left] PASSED [ 72%] 1336s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[left] PASSED [ 72%] 1336s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[left] PASSED [ 72%] 1337s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[left] PASSED [ 72%] 1337s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-previous] PASSED [ 72%] 1337s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 72%] 1337s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-previous] PASSED [ 72%] 1337s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 72%] 1337s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-previous] PASSED [ 72%] 1337s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 72%] 1337s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-next] PASSED [ 72%] 1337s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-next] PASSED [ 72%] 1337s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[right] PASSED [ 72%] 1338s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[right] PASSED [ 72%] 1338s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[right] PASSED [ 72%] 1338s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[right] PASSED [ 72%] 1338s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[right] PASSED [ 72%] 1338s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[right] PASSED [ 72%] 1338s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[right] PASSED [ 72%] 1338s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[right] PASSED [ 72%] 1338s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[right] PASSED [ 72%] 1339s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[right] PASSED [ 72%] 1339s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-none] PASSED [ 72%] 1339s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-none] PASSED [ 72%] 1339s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-none] PASSED [ 72%] 1339s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-none] PASSED [ 72%] 1339s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-none] PASSED [ 72%] 1339s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-none] PASSED [ 72%] 1340s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-none] PASSED [ 72%] 1340s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 72%] 1340s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-previous] PASSED [ 72%] 1340s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 72%] 1340s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-next] PASSED [ 73%] 1340s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 73%] 1340s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[neither] PASSED [ 73%] 1340s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[neither] PASSED [ 73%] 1340s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[neither] PASSED [ 73%] 1340s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[neither] PASSED [ 73%] 1340s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[neither] PASSED [ 73%] 1340s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[neither] PASSED [ 73%] 1340s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[neither] PASSED [ 73%] 1340s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[neither] PASSED [ 73%] 1340s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[neither] PASSED [ 73%] 1341s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[neither] PASSED [ 73%] 1341s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[neither] PASSED [ 73%] 1341s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[neither] PASSED [ 73%] 1341s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[neither] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[neither] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[neither] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[neither] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[neither] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[neither] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[neither] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[neither] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[right] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[right] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[right] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[right] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[right] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[right] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[right] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[right] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[right] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[right] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[left] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[left] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[left] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[left] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[left] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[left] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[left] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[left] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[left] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[left] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[both] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[both] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[both] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[both] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[both] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[both] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[both] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[both] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[both] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[both] PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_has_break PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_regular_holidays_sample PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_adhoc_holidays_sample PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_holidays_sample PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_late_opens_sample PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_sample PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_sample_time PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_weekdays PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_weekdays_time PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_early_closes_sample PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_early_closes_sample_time PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_late_opens PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_open_close_break_start_end PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_has_break PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_next_prev_session PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_offset PASSED [ 73%] 1342s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_session PASSED [ 73%] 1343s tests/test_xosl_calendar.py::TestXOSLCalendar::test_date_to_session PASSED [ 73%] 1345s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_open_close PASSED [ 73%] 1345s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_in_range PASSED [ 73%] 1345s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_has_break PASSED [ 73%] 1345s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_window PASSED [ 73%] 1345s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_distance PASSED [ 73%] 1345s tests/test_xosl_calendar.py::TestXOSLCalendar::test_trading_index PASSED [ 73%] 1345s tests/test_xosl_calendar.py::TestXOSLCalendar::test_deprecated PASSED [ 73%] 1345s tests/test_xpar_calendar.py::TestXPARCalendar::test_testbase_integrity PASSED [ 73%] 1345s tests/test_xpar_calendar.py::TestXPARCalendar::test_base_integrity PASSED [ 73%] 1348s tests/test_xpar_calendar.py::TestXPARCalendar::test_calculated_against_csv PASSED [ 73%] 1348s tests/test_xpar_calendar.py::TestXPARCalendar::test_start_end PASSED [ 73%] 1348s tests/test_xpar_calendar.py::TestXPARCalendar::test_invalid_input PASSED [ 74%] 1350s tests/test_xpar_calendar.py::TestXPARCalendar::test_bound_min PASSED [ 74%] 1351s tests/test_xpar_calendar.py::TestXPARCalendar::test_bound_max PASSED [ 74%] 1351s tests/test_xpar_calendar.py::TestXPARCalendar::test_sanity_check_session_lengths PASSED [ 74%] 1351s tests/test_xpar_calendar.py::TestXPARCalendar::test_adhoc_holidays_specification PASSED [ 74%] 1351s tests/test_xpar_calendar.py::TestXPARCalendar::test_daylight_savings PASSED [ 74%] 1351s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions PASSED [ 74%] 1351s tests/test_xpar_calendar.py::TestXPARCalendar::test_opens_closes_break_starts_ends PASSED [ 74%] 1351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[both] PASSED [ 74%] 1351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[both] PASSED [ 74%] 1351s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[both] PASSED [ 74%] 1351s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[both] PASSED [ 74%] 1351s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[both] PASSED [ 74%] 1351s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[both] PASSED [ 74%] 1351s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[both] PASSED [ 74%] 1351s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[both] PASSED [ 74%] 1352s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[both] PASSED [ 74%] 1353s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[both] PASSED [ 74%] 1353s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-next] PASSED [ 74%] 1353s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 74%] 1353s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-next] PASSED [ 74%] 1353s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 74%] 1353s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[left] PASSED [ 74%] 1354s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[left] PASSED [ 74%] 1354s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[left] PASSED [ 74%] 1354s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[left] PASSED [ 74%] 1354s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[left] PASSED [ 74%] 1354s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[left] PASSED [ 74%] 1354s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[left] PASSED [ 74%] 1354s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[left] PASSED [ 74%] 1354s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[left] PASSED [ 74%] 1355s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[left] PASSED [ 74%] 1355s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-previous] PASSED [ 74%] 1355s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 74%] 1355s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-previous] PASSED [ 74%] 1355s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 74%] 1356s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-previous] PASSED [ 74%] 1356s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 74%] 1356s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-next] PASSED [ 74%] 1356s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 74%] 1356s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[right] PASSED [ 74%] 1356s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[right] PASSED [ 74%] 1356s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[right] PASSED [ 74%] 1356s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[right] PASSED [ 74%] 1356s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[right] PASSED [ 74%] 1356s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[right] PASSED [ 74%] 1356s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[right] PASSED [ 74%] 1356s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[right] PASSED [ 74%] 1356s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[right] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[right] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-none] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-none] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-none] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-none] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-previous] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-next] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[neither] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[neither] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[neither] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[neither] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[neither] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[neither] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[neither] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[neither] PASSED [ 74%] 1358s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[neither] PASSED [ 74%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[neither] PASSED [ 74%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[neither] PASSED [ 74%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[neither] PASSED [ 74%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[neither] PASSED [ 74%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 74%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[neither] PASSED [ 74%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[neither] PASSED [ 74%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[neither] PASSED [ 74%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[neither] PASSED [ 74%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[neither] PASSED [ 74%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[neither] PASSED [ 74%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[right] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[right] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[right] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[right] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[right] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[right] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[right] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[right] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[right] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[right] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[left] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[left] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[left] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[left] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[left] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[left] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[left] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[left] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[left] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[left] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[both] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[both] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[both] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[both] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[both] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[both] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[both] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[both] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[both] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[both] PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_has_break PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_regular_holidays_sample PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_adhoc_holidays_sample PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_holidays_sample PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_late_opens_sample PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_sample PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_sample_time PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_weekdays PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_weekdays_time PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_early_closes_sample PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_early_closes_sample_time PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_late_opens PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes PASSED [ 75%] 1360s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_open_close_break_start_end PASSED [ 75%] 1361s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_has_break PASSED [ 75%] 1361s tests/test_xpar_calendar.py::TestXPARCalendar::test_next_prev_session PASSED [ 75%] 1361s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_offset PASSED [ 75%] 1361s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_session PASSED [ 75%] 1361s tests/test_xpar_calendar.py::TestXPARCalendar::test_date_to_session PASSED [ 75%] 1363s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_open_close PASSED [ 75%] 1363s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_in_range PASSED [ 75%] 1363s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_has_break PASSED [ 75%] 1363s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_window PASSED [ 75%] 1363s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_distance PASSED [ 75%] 1364s tests/test_xpar_calendar.py::TestXPARCalendar::test_trading_index PASSED [ 75%] 1364s tests/test_xpar_calendar.py::TestXPARCalendar::test_deprecated PASSED [ 75%] 1364s tests/test_xphs_calendar.py::TestXPHSCalendar::test_testbase_integrity PASSED [ 75%] 1364s tests/test_xphs_calendar.py::TestXPHSCalendar::test_base_integrity PASSED [ 75%] 1367s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calculated_against_csv PASSED [ 75%] 1367s tests/test_xphs_calendar.py::TestXPHSCalendar::test_start_end PASSED [ 75%] 1367s tests/test_xphs_calendar.py::TestXPHSCalendar::test_invalid_input PASSED [ 75%] 1369s tests/test_xphs_calendar.py::TestXPHSCalendar::test_bound_min PASSED [ 75%] 1370s tests/test_xphs_calendar.py::TestXPHSCalendar::test_bound_max PASSED [ 75%] 1370s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sanity_check_session_lengths PASSED [ 75%] 1370s tests/test_xphs_calendar.py::TestXPHSCalendar::test_adhoc_holidays_specification PASSED [ 75%] 1370s tests/test_xphs_calendar.py::TestXPHSCalendar::test_daylight_savings PASSED [ 75%] 1370s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions PASSED [ 75%] 1370s tests/test_xphs_calendar.py::TestXPHSCalendar::test_opens_closes_break_starts_ends PASSED [ 75%] 1370s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[both] PASSED [ 75%] 1370s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[both] PASSED [ 75%] 1370s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[both] PASSED [ 75%] 1370s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[both] PASSED [ 75%] 1370s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[both] PASSED [ 75%] 1370s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[both] PASSED [ 75%] 1371s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[both] PASSED [ 75%] 1371s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[both] PASSED [ 75%] 1371s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[both] PASSED [ 75%] 1372s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[both] PASSED [ 75%] 1372s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-next] PASSED [ 75%] 1372s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 75%] 1372s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-next] PASSED [ 75%] 1372s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 75%] 1372s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[left] PASSED [ 76%] 1372s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[left] PASSED [ 76%] 1372s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[left] PASSED [ 76%] 1372s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[left] PASSED [ 76%] 1372s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[left] PASSED [ 76%] 1372s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[left] PASSED [ 76%] 1372s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[left] PASSED [ 76%] 1372s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[left] PASSED [ 76%] 1373s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[left] PASSED [ 76%] 1374s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[left] PASSED [ 76%] 1374s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-previous] PASSED [ 76%] 1374s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 76%] 1374s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-previous] PASSED [ 76%] 1374s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 76%] 1374s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-previous] PASSED [ 76%] 1374s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 76%] 1374s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-next] PASSED [ 76%] 1374s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 76%] 1374s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[right] PASSED [ 76%] 1374s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[right] PASSED [ 76%] 1374s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[right] PASSED [ 76%] 1374s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[right] PASSED [ 76%] 1374s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[right] PASSED [ 76%] 1374s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[right] PASSED [ 76%] 1374s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[right] PASSED [ 76%] 1374s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[right] PASSED [ 76%] 1375s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[right] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[right] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-none] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-none] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-none] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-none] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-previous] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-next] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[neither] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[neither] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[neither] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[neither] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[neither] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[neither] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[neither] PASSED [ 76%] 1376s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[neither] PASSED [ 76%] 1377s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[neither] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[neither] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[neither] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[neither] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[neither] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[neither] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[neither] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[neither] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[neither] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[neither] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[neither] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[right] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[right] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[right] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[right] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[right] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[right] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[right] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[right] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[right] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[right] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[left] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[left] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[left] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[left] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[left] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[left] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[left] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[left] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[left] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[left] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[both] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[both] PASSED [ 76%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[both] PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[both] PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[both] PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[both] PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[both] PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[both] PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[both] PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[both] PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_has_break PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_regular_holidays_sample PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_adhoc_holidays_sample PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_holidays_sample PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_late_opens_sample PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_sample PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_sample_time PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_weekdays PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_weekdays_time PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_early_closes_sample PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_early_closes_sample_time PASSED [ 77%] 1378s tests/test_xphs_calendar.py::TestXPHSCalendar::test_late_opens PASSED [ 77%] 1379s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes PASSED [ 77%] 1379s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_open_close_break_start_end PASSED [ 77%] 1379s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_has_break PASSED [ 77%] 1379s tests/test_xphs_calendar.py::TestXPHSCalendar::test_next_prev_session PASSED [ 77%] 1379s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_offset PASSED [ 77%] 1379s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_session PASSED [ 77%] 1379s tests/test_xphs_calendar.py::TestXPHSCalendar::test_date_to_session PASSED [ 77%] 1382s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_open_close PASSED [ 77%] 1382s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_in_range PASSED [ 77%] 1382s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_has_break PASSED [ 77%] 1382s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_window PASSED [ 77%] 1382s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_distance PASSED [ 77%] 1382s tests/test_xphs_calendar.py::TestXPHSCalendar::test_trading_index PASSED [ 77%] 1382s tests/test_xphs_calendar.py::TestXPHSCalendar::test_deprecated PASSED [ 77%] 1382s tests/test_xpra_calendar.py::TestXPRACalendar::test_testbase_integrity PASSED [ 77%] 1382s tests/test_xpra_calendar.py::TestXPRACalendar::test_base_integrity PASSED [ 77%] 1385s tests/test_xpra_calendar.py::TestXPRACalendar::test_calculated_against_csv PASSED [ 77%] 1385s tests/test_xpra_calendar.py::TestXPRACalendar::test_start_end PASSED [ 77%] 1385s tests/test_xpra_calendar.py::TestXPRACalendar::test_invalid_input PASSED [ 77%] 1388s tests/test_xpra_calendar.py::TestXPRACalendar::test_bound_min PASSED [ 77%] 1388s tests/test_xpra_calendar.py::TestXPRACalendar::test_bound_max PASSED [ 77%] 1388s tests/test_xpra_calendar.py::TestXPRACalendar::test_sanity_check_session_lengths PASSED [ 77%] 1388s tests/test_xpra_calendar.py::TestXPRACalendar::test_adhoc_holidays_specification PASSED [ 77%] 1388s tests/test_xpra_calendar.py::TestXPRACalendar::test_daylight_savings PASSED [ 77%] 1388s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions PASSED [ 77%] 1388s tests/test_xpra_calendar.py::TestXPRACalendar::test_opens_closes_break_starts_ends PASSED [ 77%] 1388s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[both] PASSED [ 77%] 1389s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[both] PASSED [ 77%] 1389s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[both] PASSED [ 77%] 1389s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[both] PASSED [ 77%] 1389s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[both] PASSED [ 77%] 1389s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[both] PASSED [ 77%] 1389s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[both] PASSED [ 77%] 1389s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[both] PASSED [ 77%] 1389s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[both] PASSED [ 77%] 1390s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[both] PASSED [ 77%] 1390s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-next] PASSED [ 77%] 1390s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-next] PASSED [ 77%] 1390s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-next] PASSED [ 77%] 1390s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-next] PASSED [ 77%] 1390s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[left] PASSED [ 77%] 1391s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[left] PASSED [ 77%] 1391s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[left] PASSED [ 77%] 1391s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[left] PASSED [ 77%] 1391s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[left] PASSED [ 77%] 1391s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[left] PASSED [ 77%] 1391s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[left] PASSED [ 77%] 1391s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[left] PASSED [ 77%] 1391s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[left] PASSED [ 77%] 1392s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[left] PASSED [ 77%] 1392s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-previous] PASSED [ 77%] 1392s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 77%] 1392s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-previous] PASSED [ 77%] 1392s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 77%] 1393s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-previous] PASSED [ 77%] 1393s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 77%] 1393s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-next] PASSED [ 77%] 1393s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-next] PASSED [ 77%] 1393s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[right] PASSED [ 77%] 1393s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[right] PASSED [ 77%] 1393s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[right] PASSED [ 77%] 1393s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[right] PASSED [ 77%] 1393s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[right] PASSED [ 78%] 1393s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[right] PASSED [ 78%] 1393s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[right] PASSED [ 78%] 1393s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[right] PASSED [ 78%] 1393s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[right] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[right] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-none] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-none] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-none] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-none] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-none] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-none] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-none] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-previous] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-next] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[neither] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[neither] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[neither] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[neither] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[neither] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[neither] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[neither] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[neither] PASSED [ 78%] 1395s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[neither] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[neither] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[neither] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[neither] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[neither] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[neither] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[neither] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[neither] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[neither] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[neither] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[neither] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[neither] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[right] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[right] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[right] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[right] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[right] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[right] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[right] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[right] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[right] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[right] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[left] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[left] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[left] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[left] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[left] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[left] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[left] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[left] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[left] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[left] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[both] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[both] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[both] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[both] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[both] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[both] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[both] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[both] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[both] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[both] PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_has_break PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_regular_holidays_sample PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_adhoc_holidays_sample PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_holidays_sample PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_late_opens_sample PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_sample PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_sample_time PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_weekdays PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_weekdays_time PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_early_closes_sample PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_early_closes_sample_time PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_late_opens PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes PASSED [ 78%] 1397s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_open_close_break_start_end PASSED [ 78%] 1398s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_has_break PASSED [ 79%] 1398s tests/test_xpra_calendar.py::TestXPRACalendar::test_next_prev_session PASSED [ 79%] 1398s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_offset PASSED [ 79%] 1398s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_session PASSED [ 79%] 1398s tests/test_xpra_calendar.py::TestXPRACalendar::test_date_to_session PASSED [ 79%] 1400s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_open_close PASSED [ 79%] 1400s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_in_range PASSED [ 79%] 1400s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_has_break PASSED [ 79%] 1400s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_window PASSED [ 79%] 1400s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_distance PASSED [ 79%] 1401s tests/test_xpra_calendar.py::TestXPRACalendar::test_trading_index PASSED [ 79%] 1401s tests/test_xpra_calendar.py::TestXPRACalendar::test_deprecated PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_testbase_integrity PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_base_integrity PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_calculated_against_csv PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_start_end PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_invalid_input PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_bound_min PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_bound_max PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_sanity_check_session_lengths PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_adhoc_holidays_specification PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_daylight_savings PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_opens_closes_break_starts_ends PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[both] PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[both] PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[both] PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[both] PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[both] PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[both] PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[both] PASSED [ 79%] 1401s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[both] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[both] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[both] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-next] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-next] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-next] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-next] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[left] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[left] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[left] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[left] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[left] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[left] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[left] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[left] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[left] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[left] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-previous] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-previous] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-previous] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-next] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-next] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[right] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[right] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[right] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[right] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[right] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[right] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[right] PASSED [ 79%] 1402s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[right] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[right] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[right] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-none] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-none] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-none] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-none] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-none] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-none] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-none] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-previous] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-next] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[neither] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[neither] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[neither] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[neither] PASSED [ 79%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[neither] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[neither] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[neither] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[neither] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[neither] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[neither] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[neither] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[neither] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[neither] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[neither] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[neither] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[neither] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[neither] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[neither] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[neither] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[neither] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[right] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[right] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[right] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[right] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[right] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[right] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[right] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[right] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[right] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[right] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[left] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[left] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[left] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[left] PASSED [ 80%] 1403s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[left] PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[left] PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[left] PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[left] PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[left] PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[left] PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[both] PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[both] PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[both] PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[both] PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[both] PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[both] PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[both] PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[both] PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[both] PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[both] PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_has_break PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_regular_holidays_sample PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_adhoc_holidays_sample PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_holidays_sample PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_late_opens_sample PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_sample PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_sample_time PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_weekdays PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_weekdays_time PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_early_closes_sample PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_early_closes_sample_time PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_late_opens PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_open_close_break_start_end PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_has_break PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_next_prev_session PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_offset PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_session PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_date_to_session PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_open_close PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_in_range PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_has_break PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_window PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_distance PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_trading_index PASSED [ 80%] 1404s tests/test_xsau_calendar.py::TestXASUCalendar::test_deprecated PASSED [ 80%] 1404s tests/test_xses_calendar.py::TestXSESCalendar::test_testbase_integrity PASSED [ 80%] 1404s tests/test_xses_calendar.py::TestXSESCalendar::test_base_integrity PASSED [ 80%] 1407s tests/test_xses_calendar.py::TestXSESCalendar::test_calculated_against_csv PASSED [ 80%] 1407s tests/test_xses_calendar.py::TestXSESCalendar::test_start_end PASSED [ 80%] 1407s tests/test_xses_calendar.py::TestXSESCalendar::test_invalid_input PASSED [ 80%] 1408s tests/test_xses_calendar.py::TestXSESCalendar::test_bound_min PASSED [ 80%] 1408s tests/test_xses_calendar.py::TestXSESCalendar::test_bound_max PASSED [ 80%] 1408s tests/test_xses_calendar.py::TestXSESCalendar::test_sanity_check_session_lengths PASSED [ 80%] 1408s tests/test_xses_calendar.py::TestXSESCalendar::test_adhoc_holidays_specification PASSED [ 80%] 1408s tests/test_xses_calendar.py::TestXSESCalendar::test_daylight_savings PASSED [ 80%] 1408s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions PASSED [ 81%] 1408s tests/test_xses_calendar.py::TestXSESCalendar::test_opens_closes_break_starts_ends PASSED [ 81%] 1408s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[both] PASSED [ 81%] 1409s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[both] PASSED [ 81%] 1409s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[both] PASSED [ 81%] 1409s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[both] PASSED [ 81%] 1409s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[both] PASSED [ 81%] 1409s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[both] PASSED [ 81%] 1409s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[both] PASSED [ 81%] 1409s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[both] PASSED [ 81%] 1409s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[both] PASSED [ 81%] 1411s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[both] PASSED [ 81%] 1411s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-next] PASSED [ 81%] 1411s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-next] PASSED [ 81%] 1411s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-next] PASSED [ 81%] 1411s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-next] PASSED [ 81%] 1411s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[left] PASSED [ 81%] 1411s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[left] PASSED [ 81%] 1411s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[left] PASSED [ 81%] 1411s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[left] PASSED [ 81%] 1411s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[left] PASSED [ 81%] 1411s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[left] PASSED [ 81%] 1411s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[left] PASSED [ 81%] 1411s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[left] PASSED [ 81%] 1412s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[left] PASSED [ 81%] 1413s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[left] PASSED [ 81%] 1413s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-previous] PASSED [ 81%] 1413s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 81%] 1413s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-previous] PASSED [ 81%] 1413s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 81%] 1414s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-previous] PASSED [ 81%] 1414s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 81%] 1414s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-next] PASSED [ 81%] 1414s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-next] PASSED [ 81%] 1414s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[right] PASSED [ 81%] 1414s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[right] PASSED [ 81%] 1414s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[right] PASSED [ 81%] 1414s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[right] PASSED [ 81%] 1414s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[right] PASSED [ 81%] 1414s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[right] PASSED [ 81%] 1414s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[right] PASSED [ 81%] 1414s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[right] PASSED [ 81%] 1415s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[right] PASSED [ 81%] 1416s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[right] PASSED [ 81%] 1416s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-none] PASSED [ 81%] 1416s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-none] PASSED [ 81%] 1416s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-none] PASSED [ 81%] 1416s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-none] PASSED [ 81%] 1416s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-none] PASSED [ 81%] 1416s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-none] PASSED [ 81%] 1417s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-none] PASSED [ 81%] 1417s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 81%] 1417s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-previous] PASSED [ 81%] 1417s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 81%] 1417s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-next] PASSED [ 81%] 1417s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 81%] 1417s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[neither] PASSED [ 81%] 1417s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[neither] PASSED [ 81%] 1417s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[neither] PASSED [ 81%] 1417s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[neither] PASSED [ 81%] 1417s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[neither] PASSED [ 81%] 1417s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[neither] PASSED [ 81%] 1417s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[neither] PASSED [ 81%] 1417s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[neither] PASSED [ 81%] 1417s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[neither] PASSED [ 81%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[neither] PASSED [ 81%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[neither] PASSED [ 81%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[neither] PASSED [ 81%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[neither] PASSED [ 81%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[neither] PASSED [ 81%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[neither] PASSED [ 81%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[neither] PASSED [ 81%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[neither] PASSED [ 81%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[neither] PASSED [ 81%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[neither] PASSED [ 81%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[neither] PASSED [ 81%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[right] PASSED [ 81%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[right] PASSED [ 81%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[right] PASSED [ 81%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[right] PASSED [ 81%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[right] PASSED [ 81%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[right] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[right] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[right] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[right] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[right] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[left] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[left] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[left] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[left] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[left] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[left] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[left] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[left] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[left] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[left] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[both] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[both] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[both] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[both] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[both] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[both] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[both] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[both] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[both] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[both] PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_has_break PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_regular_holidays_sample PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_adhoc_holidays_sample PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_non_holidays_sample PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_late_opens_sample PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_sample PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_sample_time PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_weekdays PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_weekdays_time PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_non_early_closes_sample PASSED [ 82%] 1419s tests/test_xses_calendar.py::TestXSESCalendar::test_non_early_closes_sample_time PASSED [ 82%] 1420s tests/test_xses_calendar.py::TestXSESCalendar::test_late_opens PASSED [ 82%] 1420s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes PASSED [ 82%] 1420s tests/test_xses_calendar.py::TestXSESCalendar::test_session_open_close_break_start_end PASSED [ 82%] 1420s tests/test_xses_calendar.py::TestXSESCalendar::test_session_has_break PASSED [ 82%] 1420s tests/test_xses_calendar.py::TestXSESCalendar::test_next_prev_session PASSED [ 82%] 1420s tests/test_xses_calendar.py::TestXSESCalendar::test_session_offset PASSED [ 82%] 1420s tests/test_xses_calendar.py::TestXSESCalendar::test_is_session PASSED [ 82%] 1420s tests/test_xses_calendar.py::TestXSESCalendar::test_date_to_session PASSED [ 82%] 1424s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_open_close PASSED [ 82%] 1424s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_in_range PASSED [ 82%] 1424s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_has_break PASSED [ 82%] 1424s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_window PASSED [ 82%] 1424s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_distance PASSED [ 82%] 1424s tests/test_xses_calendar.py::TestXSESCalendar::test_trading_index PASSED [ 82%] 1424s tests/test_xses_calendar.py::TestXSESCalendar::test_deprecated PASSED [ 82%] 1424s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_testbase_integrity PASSED [ 82%] 1424s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_base_integrity PASSED [ 82%] 1427s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calculated_against_csv PASSED [ 82%] 1428s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_start_end PASSED [ 82%] 1428s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_invalid_input PASSED [ 82%] 1430s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_bound_min PASSED [ 82%] 1431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_bound_max PASSED [ 82%] 1431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sanity_check_session_lengths PASSED [ 82%] 1431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_adhoc_holidays_specification PASSED [ 82%] 1431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_daylight_savings PASSED [ 82%] 1431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions PASSED [ 82%] 1431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_opens_closes_break_starts_ends PASSED [ 82%] 1431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[both] PASSED [ 82%] 1431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[both] PASSED [ 82%] 1431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[both] PASSED [ 82%] 1431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[both] PASSED [ 82%] 1431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[both] PASSED [ 82%] 1431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[both] PASSED [ 82%] 1431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[both] PASSED [ 82%] 1431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[both] PASSED [ 82%] 1432s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[both] PASSED [ 82%] 1433s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[both] PASSED [ 82%] 1433s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-next] PASSED [ 82%] 1433s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 82%] 1433s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-next] PASSED [ 82%] 1433s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 82%] 1433s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[left] PASSED [ 82%] 1433s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[left] PASSED [ 82%] 1433s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[left] PASSED [ 82%] 1433s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[left] PASSED [ 82%] 1433s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[left] PASSED [ 82%] 1433s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[left] PASSED [ 83%] 1433s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[left] PASSED [ 83%] 1433s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[left] PASSED [ 83%] 1434s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[left] PASSED [ 83%] 1435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[left] PASSED [ 83%] 1435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-previous] PASSED [ 83%] 1435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 83%] 1435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-previous] PASSED [ 83%] 1435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 83%] 1435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-previous] PASSED [ 83%] 1435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 83%] 1435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-next] PASSED [ 83%] 1435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 83%] 1435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[right] PASSED [ 83%] 1436s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[right] PASSED [ 83%] 1436s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[right] PASSED [ 83%] 1436s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[right] PASSED [ 83%] 1436s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[right] PASSED [ 83%] 1436s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[right] PASSED [ 83%] 1436s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[right] PASSED [ 83%] 1436s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[right] PASSED [ 83%] 1436s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[right] PASSED [ 83%] 1437s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[right] PASSED [ 83%] 1437s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-none] PASSED [ 83%] 1437s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 83%] 1437s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-none] PASSED [ 83%] 1437s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 83%] 1438s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-none] PASSED [ 83%] 1438s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 83%] 1438s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-none] PASSED [ 83%] 1438s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 83%] 1438s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-previous] PASSED [ 83%] 1438s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 83%] 1438s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-next] PASSED [ 83%] 1438s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 83%] 1438s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[neither] PASSED [ 83%] 1438s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[neither] PASSED [ 83%] 1438s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[neither] PASSED [ 83%] 1438s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[neither] PASSED [ 83%] 1438s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[neither] PASSED [ 83%] 1438s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[neither] PASSED [ 83%] 1438s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[neither] PASSED [ 83%] 1438s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[neither] PASSED [ 83%] 1438s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[neither] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[neither] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[neither] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[neither] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[neither] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[neither] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[neither] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[neither] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[neither] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[neither] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[neither] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[right] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[right] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[right] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[right] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[right] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[right] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[right] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[right] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[right] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[right] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[left] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[left] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[left] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[left] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[left] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[left] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[left] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[left] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[left] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[left] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[both] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[both] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[both] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[both] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[both] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[both] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[both] PASSED [ 83%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[both] PASSED [ 84%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[both] PASSED [ 84%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[both] PASSED [ 84%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_has_break PASSED [ 84%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_regular_holidays_sample PASSED [ 84%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_adhoc_holidays_sample PASSED [ 84%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_holidays_sample PASSED [ 84%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_late_opens_sample PASSED [ 84%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_sample PASSED [ 84%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_sample_time PASSED [ 84%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_weekdays PASSED [ 84%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_weekdays_time PASSED [ 84%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_early_closes_sample PASSED [ 84%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_early_closes_sample_time PASSED [ 84%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_late_opens PASSED [ 84%] 1440s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes PASSED [ 84%] 1441s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_open_close_break_start_end PASSED [ 84%] 1441s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_has_break PASSED [ 84%] 1441s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_next_prev_session PASSED [ 84%] 1441s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_offset PASSED [ 84%] 1441s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_session PASSED [ 84%] 1441s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_date_to_session PASSED [ 84%] 1444s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_open_close PASSED [ 84%] 1444s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_in_range PASSED [ 84%] 1444s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_has_break PASSED [ 84%] 1444s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_window PASSED [ 84%] 1444s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_distance PASSED [ 84%] 1444s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_trading_index PASSED [ 84%] 1444s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_deprecated PASSED [ 84%] 1444s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_additional_early_closes_sample PASSED [ 84%] 1444s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_close_time_change PASSED [ 84%] 1444s tests/test_xshg_calendar.py::TestXSHGCalendar::test_testbase_integrity PASSED [ 84%] 1444s tests/test_xshg_calendar.py::TestXSHGCalendar::test_base_integrity PASSED [ 84%] 1447s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calculated_against_csv PASSED [ 84%] 1447s tests/test_xshg_calendar.py::TestXSHGCalendar::test_start_end PASSED [ 84%] 1447s tests/test_xshg_calendar.py::TestXSHGCalendar::test_invalid_input PASSED [ 84%] 1448s tests/test_xshg_calendar.py::TestXSHGCalendar::test_bound_min PASSED [ 84%] 1448s tests/test_xshg_calendar.py::TestXSHGCalendar::test_bound_max PASSED [ 84%] 1448s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sanity_check_session_lengths PASSED [ 84%] 1448s tests/test_xshg_calendar.py::TestXSHGCalendar::test_adhoc_holidays_specification PASSED [ 84%] 1448s tests/test_xshg_calendar.py::TestXSHGCalendar::test_daylight_savings PASSED [ 84%] 1448s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions PASSED [ 84%] 1448s tests/test_xshg_calendar.py::TestXSHGCalendar::test_opens_closes_break_starts_ends PASSED [ 84%] 1448s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[both] PASSED [ 84%] 1449s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[both] PASSED [ 84%] 1449s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[both] PASSED [ 84%] 1449s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[both] PASSED [ 84%] 1449s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[both] PASSED [ 84%] 1449s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[both] PASSED [ 84%] 1449s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[both] PASSED [ 84%] 1449s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[both] PASSED [ 84%] 1450s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[both] PASSED [ 84%] 1453s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[both] PASSED [ 84%] 1453s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-next] PASSED [ 84%] 1453s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 84%] 1453s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-next] PASSED [ 84%] 1453s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 84%] 1453s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[left] PASSED [ 84%] 1453s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[left] PASSED [ 84%] 1453s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[left] PASSED [ 84%] 1453s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[left] PASSED [ 84%] 1453s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[left] PASSED [ 84%] 1453s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[left] PASSED [ 84%] 1453s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[left] PASSED [ 84%] 1453s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[left] PASSED [ 84%] 1454s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[left] PASSED [ 84%] 1457s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[left] PASSED [ 84%] 1457s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-previous] PASSED [ 84%] 1457s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 84%] 1457s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-previous] PASSED [ 84%] 1457s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 84%] 1457s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-previous] PASSED [ 84%] 1457s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 84%] 1457s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-next] PASSED [ 84%] 1457s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 84%] 1457s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[right] PASSED [ 84%] 1457s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[right] PASSED [ 84%] 1457s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[right] PASSED [ 84%] 1457s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[right] PASSED [ 84%] 1458s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[right] PASSED [ 84%] 1458s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[right] PASSED [ 84%] 1458s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[right] PASSED [ 84%] 1458s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[right] PASSED [ 85%] 1458s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[right] PASSED [ 85%] 1461s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[right] PASSED [ 85%] 1461s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-none] PASSED [ 85%] 1461s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 85%] 1461s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-none] PASSED [ 85%] 1461s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 85%] 1461s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-none] PASSED [ 85%] 1461s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 85%] 1462s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-none] PASSED [ 85%] 1462s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 85%] 1462s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-previous] PASSED [ 85%] 1462s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 85%] 1462s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-next] PASSED [ 85%] 1462s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 85%] 1462s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[neither] PASSED [ 85%] 1462s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[neither] PASSED [ 85%] 1462s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[neither] PASSED [ 85%] 1462s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[neither] PASSED [ 85%] 1462s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[neither] PASSED [ 85%] 1462s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[neither] PASSED [ 85%] 1462s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[neither] PASSED [ 85%] 1462s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[neither] PASSED [ 85%] 1463s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[neither] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[neither] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[neither] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[neither] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[neither] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[neither] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[neither] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[neither] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[neither] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[neither] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[neither] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[right] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[right] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[right] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[right] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[right] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[right] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[right] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[right] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[right] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[right] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[left] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[left] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[left] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[left] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[left] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[left] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[left] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[left] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[left] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[left] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[both] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[both] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[both] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[both] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[both] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[both] PASSED [ 85%] 1466s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[both] PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[both] PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[both] PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[both] PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_has_break PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_regular_holidays_sample PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_adhoc_holidays_sample PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_holidays_sample PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_late_opens_sample PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_sample PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_sample_time PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_weekdays PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_weekdays_time PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_early_closes_sample PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_early_closes_sample_time PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_late_opens PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_open_close_break_start_end PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_has_break PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_next_prev_session PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_offset PASSED [ 85%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_session PASSED [ 86%] 1467s tests/test_xshg_calendar.py::TestXSHGCalendar::test_date_to_session PASSED [ 86%] 1470s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_open_close PASSED [ 86%] 1470s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_in_range PASSED [ 86%] 1470s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_has_break PASSED [ 86%] 1470s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_window PASSED [ 86%] 1470s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_distance PASSED [ 86%] 1471s tests/test_xshg_calendar.py::TestXSHGCalendar::test_trading_index PASSED [ 86%] 1471s tests/test_xshg_calendar.py::TestXSHGCalendar::test_deprecated PASSED [ 86%] 1471s tests/test_xsto_calendar.py::TestXSTOCalendar::test_testbase_integrity PASSED [ 86%] 1471s tests/test_xsto_calendar.py::TestXSTOCalendar::test_base_integrity PASSED [ 86%] 1474s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calculated_against_csv PASSED [ 86%] 1474s tests/test_xsto_calendar.py::TestXSTOCalendar::test_start_end PASSED [ 86%] 1474s tests/test_xsto_calendar.py::TestXSTOCalendar::test_invalid_input PASSED [ 86%] 1476s tests/test_xsto_calendar.py::TestXSTOCalendar::test_bound_min PASSED [ 86%] 1477s tests/test_xsto_calendar.py::TestXSTOCalendar::test_bound_max PASSED [ 86%] 1477s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sanity_check_session_lengths PASSED [ 86%] 1477s tests/test_xsto_calendar.py::TestXSTOCalendar::test_adhoc_holidays_specification PASSED [ 86%] 1477s tests/test_xsto_calendar.py::TestXSTOCalendar::test_daylight_savings PASSED [ 86%] 1477s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions PASSED [ 86%] 1477s tests/test_xsto_calendar.py::TestXSTOCalendar::test_opens_closes_break_starts_ends PASSED [ 86%] 1477s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[both] PASSED [ 86%] 1478s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[both] PASSED [ 86%] 1478s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[both] PASSED [ 86%] 1478s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[both] PASSED [ 86%] 1478s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[both] PASSED [ 86%] 1478s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[both] PASSED [ 86%] 1478s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[both] PASSED [ 86%] 1478s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[both] PASSED [ 86%] 1478s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[both] PASSED [ 86%] 1479s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[both] PASSED [ 86%] 1479s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-next] PASSED [ 86%] 1479s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 86%] 1479s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-next] PASSED [ 86%] 1479s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 86%] 1479s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[left] PASSED [ 86%] 1480s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[left] PASSED [ 86%] 1480s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[left] PASSED [ 86%] 1480s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[left] PASSED [ 86%] 1480s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[left] PASSED [ 86%] 1480s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[left] PASSED [ 86%] 1480s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[left] PASSED [ 86%] 1480s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[left] PASSED [ 86%] 1480s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[left] PASSED [ 86%] 1481s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[left] PASSED [ 86%] 1481s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-previous] PASSED [ 86%] 1481s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 86%] 1481s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-previous] PASSED [ 86%] 1481s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 86%] 1482s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-previous] PASSED [ 86%] 1482s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 86%] 1482s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-next] PASSED [ 86%] 1482s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 86%] 1482s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[right] PASSED [ 86%] 1482s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[right] PASSED [ 86%] 1482s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[right] PASSED [ 86%] 1482s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[right] PASSED [ 86%] 1482s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[right] PASSED [ 86%] 1482s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[right] PASSED [ 86%] 1482s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[right] PASSED [ 86%] 1482s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[right] PASSED [ 86%] 1482s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[right] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[right] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-none] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-none] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-none] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-none] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-previous] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-next] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[neither] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[neither] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[neither] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[neither] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[neither] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[neither] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[neither] PASSED [ 86%] 1484s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[neither] PASSED [ 87%] 1485s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[neither] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[neither] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[neither] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[neither] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[neither] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[neither] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[neither] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[neither] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[neither] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[neither] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[neither] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[right] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[right] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[right] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[right] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[right] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[right] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[right] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[right] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[right] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[right] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[left] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[left] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[left] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[left] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[left] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[left] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[left] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[left] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[left] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[left] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[both] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[both] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[both] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[both] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[both] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[both] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[both] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[both] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[both] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[both] PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_has_break PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_regular_holidays_sample PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_adhoc_holidays_sample PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_holidays_sample PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_late_opens_sample PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_sample PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_sample_time PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_weekdays PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_weekdays_time PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_early_closes_sample PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_early_closes_sample_time PASSED [ 87%] 1486s tests/test_xsto_calendar.py::TestXSTOCalendar::test_late_opens PASSED [ 87%] 1487s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes PASSED [ 87%] 1487s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_open_close_break_start_end PASSED [ 87%] 1487s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_has_break PASSED [ 87%] 1487s tests/test_xsto_calendar.py::TestXSTOCalendar::test_next_prev_session PASSED [ 87%] 1487s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_offset PASSED [ 87%] 1487s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_session PASSED [ 87%] 1487s tests/test_xsto_calendar.py::TestXSTOCalendar::test_date_to_session PASSED [ 87%] 1489s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_open_close PASSED [ 87%] 1489s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_in_range PASSED [ 87%] 1489s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_has_break PASSED [ 87%] 1490s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_window PASSED [ 87%] 1490s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_distance PASSED [ 87%] 1490s tests/test_xsto_calendar.py::TestXSTOCalendar::test_trading_index PASSED [ 87%] 1490s tests/test_xsto_calendar.py::TestXSTOCalendar::test_deprecated PASSED [ 87%] 1490s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_testbase_integrity PASSED [ 87%] 1490s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_base_integrity PASSED [ 87%] 1493s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calculated_against_csv PASSED [ 87%] 1493s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_start_end PASSED [ 87%] 1493s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_invalid_input PASSED [ 87%] 1495s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_bound_min PASSED [ 87%] 1496s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_bound_max PASSED [ 87%] 1496s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sanity_check_session_lengths PASSED [ 87%] 1496s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_adhoc_holidays_specification PASSED [ 87%] 1496s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_daylight_savings PASSED [ 87%] 1496s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions PASSED [ 87%] 1496s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_opens_closes_break_starts_ends PASSED [ 87%] 1496s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[both] PASSED [ 87%] 1496s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[both] PASSED [ 88%] 1496s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[both] PASSED [ 88%] 1496s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[both] PASSED [ 88%] 1496s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[both] PASSED [ 88%] 1496s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[both] PASSED [ 88%] 1497s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[both] PASSED [ 88%] 1497s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[both] PASSED [ 88%] 1497s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[both] PASSED [ 88%] 1498s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[both] PASSED [ 88%] 1498s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-next] PASSED [ 88%] 1498s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 88%] 1498s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-next] PASSED [ 88%] 1498s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 88%] 1498s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[left] PASSED [ 88%] 1498s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[left] PASSED [ 88%] 1498s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[left] PASSED [ 88%] 1498s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[left] PASSED [ 88%] 1498s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[left] PASSED [ 88%] 1498s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[left] PASSED [ 88%] 1498s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[left] PASSED [ 88%] 1499s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[left] PASSED [ 88%] 1499s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[left] PASSED [ 88%] 1500s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[left] PASSED [ 88%] 1500s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-previous] PASSED [ 88%] 1500s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 88%] 1500s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-previous] PASSED [ 88%] 1500s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 88%] 1500s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-previous] PASSED [ 88%] 1500s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 88%] 1500s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-next] PASSED [ 88%] 1500s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 88%] 1500s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[right] PASSED [ 88%] 1501s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[right] PASSED [ 88%] 1501s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[right] PASSED [ 88%] 1501s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[right] PASSED [ 88%] 1501s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[right] PASSED [ 88%] 1501s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[right] PASSED [ 88%] 1501s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[right] PASSED [ 88%] 1501s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[right] PASSED [ 88%] 1501s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[right] PASSED [ 88%] 1502s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[right] PASSED [ 88%] 1502s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-none] PASSED [ 88%] 1502s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 88%] 1502s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-none] PASSED [ 88%] 1502s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 88%] 1502s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-none] PASSED [ 88%] 1502s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 88%] 1503s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-none] PASSED [ 88%] 1503s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 88%] 1503s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-previous] PASSED [ 88%] 1503s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 88%] 1503s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-next] PASSED [ 88%] 1503s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 88%] 1503s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[neither] PASSED [ 88%] 1503s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[neither] PASSED [ 88%] 1503s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[neither] PASSED [ 88%] 1503s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[neither] PASSED [ 88%] 1503s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[neither] PASSED [ 88%] 1503s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[neither] PASSED [ 88%] 1503s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[neither] PASSED [ 88%] 1503s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[neither] PASSED [ 88%] 1503s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[neither] PASSED [ 88%] 1504s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[neither] PASSED [ 88%] 1504s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[neither] PASSED [ 88%] 1504s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[neither] PASSED [ 88%] 1504s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[neither] PASSED [ 88%] 1504s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 88%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[neither] PASSED [ 88%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[neither] PASSED [ 88%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[neither] PASSED [ 88%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[neither] PASSED [ 88%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[neither] PASSED [ 88%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[neither] PASSED [ 88%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[right] PASSED [ 88%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[right] PASSED [ 88%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[right] PASSED [ 88%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[right] PASSED [ 88%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[right] PASSED [ 88%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[right] PASSED [ 88%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[right] PASSED [ 88%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[right] PASSED [ 88%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[right] PASSED [ 88%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[right] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[left] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[left] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[left] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[left] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[left] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[left] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[left] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[left] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[left] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[left] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[both] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[both] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[both] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[both] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[both] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[both] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[both] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[both] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[both] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[both] PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_has_break PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_regular_holidays_sample PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_adhoc_holidays_sample PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_holidays_sample PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_late_opens_sample PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_sample PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_sample_time PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_weekdays PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_weekdays_time PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_early_closes_sample PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_early_closes_sample_time PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_late_opens PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_open_close_break_start_end PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_has_break PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_next_prev_session PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_offset PASSED [ 89%] 1505s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_session PASSED [ 89%] 1506s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_date_to_session PASSED [ 89%] 1508s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_open_close PASSED [ 89%] 1508s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_in_range PASSED [ 89%] 1508s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_has_break PASSED [ 89%] 1508s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_window PASSED [ 89%] 1508s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_distance PASSED [ 89%] 1508s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_trading_index PASSED [ 89%] 1508s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_deprecated PASSED [ 89%] 1508s tests/test_xtae_calendar.py::TestXTAECalendar::test_testbase_integrity PASSED [ 89%] 1508s tests/test_xtae_calendar.py::TestXTAECalendar::test_base_integrity PASSED [ 89%] 1511s tests/test_xtae_calendar.py::TestXTAECalendar::test_calculated_against_csv PASSED [ 89%] 1512s tests/test_xtae_calendar.py::TestXTAECalendar::test_start_end PASSED [ 89%] 1513s tests/test_xtae_calendar.py::TestXTAECalendar::test_invalid_input PASSED [ 89%] 1516s tests/test_xtae_calendar.py::TestXTAECalendar::test_bound_min PASSED [ 89%] 1517s tests/test_xtae_calendar.py::TestXTAECalendar::test_bound_max PASSED [ 89%] 1517s tests/test_xtae_calendar.py::TestXTAECalendar::test_sanity_check_session_lengths PASSED [ 89%] 1517s tests/test_xtae_calendar.py::TestXTAECalendar::test_adhoc_holidays_specification PASSED [ 89%] 1517s tests/test_xtae_calendar.py::TestXTAECalendar::test_daylight_savings PASSED [ 89%] 1517s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions PASSED [ 89%] 1517s tests/test_xtae_calendar.py::TestXTAECalendar::test_opens_closes_break_starts_ends PASSED [ 89%] 1517s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[both] PASSED [ 89%] 1517s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[both] PASSED [ 89%] 1517s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[both] PASSED [ 89%] 1517s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[both] PASSED [ 89%] 1517s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[both] PASSED [ 89%] 1517s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[both] PASSED [ 89%] 1517s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[both] PASSED [ 89%] 1517s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[both] PASSED [ 89%] 1518s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[both] PASSED [ 89%] 1518s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[both] PASSED [ 89%] 1518s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-next] PASSED [ 89%] 1518s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-next] PASSED [ 89%] 1518s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-next] PASSED [ 89%] 1518s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-next] PASSED [ 89%] 1518s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[left] PASSED [ 89%] 1518s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[left] PASSED [ 89%] 1518s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[left] PASSED [ 89%] 1518s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[left] PASSED [ 89%] 1518s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[left] PASSED [ 89%] 1518s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[left] PASSED [ 89%] 1518s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[left] PASSED [ 89%] 1518s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[left] PASSED [ 89%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[left] PASSED [ 89%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[left] PASSED [ 90%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-previous] PASSED [ 90%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 90%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-previous] PASSED [ 90%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 90%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-previous] PASSED [ 90%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 90%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-next] PASSED [ 90%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-next] PASSED [ 90%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[right] PASSED [ 90%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[right] PASSED [ 90%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[right] PASSED [ 90%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[right] PASSED [ 90%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[right] PASSED [ 90%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[right] PASSED [ 90%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[right] PASSED [ 90%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[right] PASSED [ 90%] 1519s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[right] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[right] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-none] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-none] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-none] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-none] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-none] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-none] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-none] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-previous] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-next] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[neither] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[right] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[right] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[right] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[right] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[right] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[right] PASSED [ 90%] 1520s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[right] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[right] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[right] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[right] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[left] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[left] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[left] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[left] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[left] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[left] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[left] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[left] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[left] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[left] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[both] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[both] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[both] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[both] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[both] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[both] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[both] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[both] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[both] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[both] PASSED [ 90%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_has_break PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_regular_holidays_sample PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_adhoc_holidays_sample PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_holidays_sample PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_late_opens_sample PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_sample PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_sample_time PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_weekdays PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_weekdays_time PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_early_closes_sample PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_early_closes_sample_time PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_late_opens PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_open_close_break_start_end PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_has_break PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_next_prev_session PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_offset PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_session PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_date_to_session PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_open_close PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_in_range PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_has_break PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_window PASSED [ 91%] 1521s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_distance PASSED [ 91%] 1522s tests/test_xtae_calendar.py::TestXTAECalendar::test_trading_index PASSED [ 91%] 1522s tests/test_xtae_calendar.py::TestXTAECalendar::test_deprecated PASSED [ 91%] 1522s tests/test_xtai_calendar.py::TestXTAICalendar::test_testbase_integrity PASSED [ 91%] 1522s tests/test_xtai_calendar.py::TestXTAICalendar::test_base_integrity PASSED [ 91%] 1532s tests/test_xtai_calendar.py::TestXTAICalendar::test_calculated_against_csv PASSED [ 91%] 1532s tests/test_xtai_calendar.py::TestXTAICalendar::test_start_end PASSED [ 91%] 1532s tests/test_xtai_calendar.py::TestXTAICalendar::test_invalid_input PASSED [ 91%] 1534s tests/test_xtai_calendar.py::TestXTAICalendar::test_bound_min PASSED [ 91%] 1535s tests/test_xtai_calendar.py::TestXTAICalendar::test_bound_max PASSED [ 91%] 1535s tests/test_xtai_calendar.py::TestXTAICalendar::test_sanity_check_session_lengths PASSED [ 91%] 1535s tests/test_xtai_calendar.py::TestXTAICalendar::test_adhoc_holidays_specification PASSED [ 91%] 1535s tests/test_xtai_calendar.py::TestXTAICalendar::test_daylight_savings PASSED [ 91%] 1535s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions PASSED [ 91%] 1535s tests/test_xtai_calendar.py::TestXTAICalendar::test_opens_closes_break_starts_ends PASSED [ 91%] 1536s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[both] PASSED [ 91%] 1537s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[both] PASSED [ 91%] 1537s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[both] PASSED [ 91%] 1537s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[both] PASSED [ 91%] 1537s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[both] PASSED [ 91%] 1537s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[both] PASSED [ 91%] 1537s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[both] PASSED [ 91%] 1537s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[both] PASSED [ 91%] 1537s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[both] PASSED [ 91%] 1543s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[both] PASSED [ 91%] 1543s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-next] PASSED [ 91%] 1543s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-next] PASSED [ 91%] 1543s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-next] PASSED [ 91%] 1543s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-next] PASSED [ 91%] 1543s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[left] PASSED [ 91%] 1543s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[left] PASSED [ 91%] 1543s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[left] PASSED [ 91%] 1543s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[left] PASSED [ 91%] 1543s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[left] PASSED [ 91%] 1543s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[left] PASSED [ 91%] 1543s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[left] PASSED [ 91%] 1543s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[left] PASSED [ 91%] 1544s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[left] PASSED [ 91%] 1549s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[left] PASSED [ 91%] 1549s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-previous] PASSED [ 91%] 1549s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-previous] PASSED [ 91%] 1549s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-previous] PASSED [ 91%] 1549s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-previous] PASSED [ 91%] 1550s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-previous] PASSED [ 91%] 1550s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-previous] PASSED [ 91%] 1550s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-next] PASSED [ 91%] 1550s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-next] PASSED [ 91%] 1550s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[right] PASSED [ 91%] 1551s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[right] PASSED [ 91%] 1551s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[right] PASSED [ 91%] 1551s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[right] PASSED [ 91%] 1551s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[right] PASSED [ 91%] 1551s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[right] PASSED [ 91%] 1551s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[right] PASSED [ 91%] 1551s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[right] PASSED [ 91%] 1551s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[right] PASSED [ 91%] 1557s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[right] PASSED [ 91%] 1557s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-none] PASSED [ 91%] 1557s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-none] PASSED [ 91%] 1557s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-none] PASSED [ 92%] 1557s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-none] PASSED [ 92%] 1557s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-none] PASSED [ 92%] 1557s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-none] PASSED [ 92%] 1558s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-none] PASSED [ 92%] 1558s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-none] PASSED [ 92%] 1558s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-previous] PASSED [ 92%] 1558s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 92%] 1558s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-next] PASSED [ 92%] 1558s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-next] PASSED [ 92%] 1558s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[neither] PASSED [ 92%] 1558s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[neither] PASSED [ 92%] 1558s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[neither] PASSED [ 92%] 1558s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[neither] PASSED [ 92%] 1558s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[neither] PASSED [ 92%] 1558s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[neither] PASSED [ 92%] 1558s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[neither] PASSED [ 92%] 1558s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[neither] PASSED [ 92%] 1559s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[neither] PASSED [ 92%] 1564s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[neither] PASSED [ 92%] 1564s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[neither] PASSED [ 92%] 1564s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[neither] PASSED [ 92%] 1564s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[neither] PASSED [ 92%] 1564s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[neither] PASSED [ 92%] 1564s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[neither] PASSED [ 92%] 1564s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[neither] PASSED [ 92%] 1564s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[neither] PASSED [ 92%] 1564s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[neither] PASSED [ 92%] 1564s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[neither] PASSED [ 92%] 1564s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[neither] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[right] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[right] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[right] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[right] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[right] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[right] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[right] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[right] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[right] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[right] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[left] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[left] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[left] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[left] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[left] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[left] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[left] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[left] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[left] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[left] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[both] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[both] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[both] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[both] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[both] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[both] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[both] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[both] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[both] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[both] PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_has_break PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_regular_holidays_sample PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_adhoc_holidays_sample PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_holidays_sample PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_late_opens_sample PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_sample PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_sample_time PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_weekdays PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_weekdays_time PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_early_closes_sample PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_early_closes_sample_time PASSED [ 92%] 1565s tests/test_xtai_calendar.py::TestXTAICalendar::test_late_opens PASSED [ 92%] 1566s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes PASSED [ 92%] 1566s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_open_close_break_start_end PASSED [ 92%] 1566s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_has_break PASSED [ 92%] 1567s tests/test_xtai_calendar.py::TestXTAICalendar::test_next_prev_session PASSED [ 92%] 1567s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_offset PASSED [ 92%] 1567s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_session PASSED [ 92%] 1568s tests/test_xtai_calendar.py::TestXTAICalendar::test_date_to_session PASSED [ 92%] 1578s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_open_close PASSED [ 92%] 1578s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_in_range PASSED [ 92%] 1578s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_has_break PASSED [ 92%] 1578s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_window PASSED [ 93%] 1578s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_distance PASSED [ 93%] 1578s tests/test_xtai_calendar.py::TestXTAICalendar::test_trading_index PASSED [ 93%] 1578s tests/test_xtai_calendar.py::TestXTAICalendar::test_deprecated PASSED [ 93%] 1578s tests/test_xtks_calendar.py::TestXTKSCalendar::test_testbase_integrity PASSED [ 93%] 1578s tests/test_xtks_calendar.py::TestXTKSCalendar::test_base_integrity PASSED [ 93%] 1582s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calculated_against_csv PASSED [ 93%] 1582s tests/test_xtks_calendar.py::TestXTKSCalendar::test_start_end PASSED [ 93%] 1583s tests/test_xtks_calendar.py::TestXTKSCalendar::test_invalid_input PASSED [ 93%] 1583s tests/test_xtks_calendar.py::TestXTKSCalendar::test_bound_min PASSED [ 93%] 1584s tests/test_xtks_calendar.py::TestXTKSCalendar::test_bound_max PASSED [ 93%] 1584s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sanity_check_session_lengths PASSED [ 93%] 1584s tests/test_xtks_calendar.py::TestXTKSCalendar::test_adhoc_holidays_specification PASSED [ 93%] 1584s tests/test_xtks_calendar.py::TestXTKSCalendar::test_daylight_savings PASSED [ 93%] 1584s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions PASSED [ 93%] 1584s tests/test_xtks_calendar.py::TestXTKSCalendar::test_opens_closes_break_starts_ends PASSED [ 93%] 1584s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[both] PASSED [ 93%] 1585s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[both] PASSED [ 93%] 1585s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[both] PASSED [ 93%] 1585s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[both] PASSED [ 93%] 1585s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[both] PASSED [ 93%] 1585s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[both] PASSED [ 93%] 1585s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[both] PASSED [ 93%] 1585s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[both] PASSED [ 93%] 1586s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[both] PASSED [ 93%] 1588s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[both] PASSED [ 93%] 1588s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-next] PASSED [ 93%] 1588s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 93%] 1588s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-next] PASSED [ 93%] 1588s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 93%] 1588s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[left] PASSED [ 93%] 1588s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[left] PASSED [ 93%] 1588s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[left] PASSED [ 93%] 1588s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[left] PASSED [ 93%] 1588s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[left] PASSED [ 93%] 1588s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[left] PASSED [ 93%] 1588s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[left] PASSED [ 93%] 1588s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[left] PASSED [ 93%] 1589s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[left] PASSED [ 93%] 1591s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[left] PASSED [ 93%] 1591s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-previous] PASSED [ 93%] 1591s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 93%] 1591s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-previous] PASSED [ 93%] 1591s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 93%] 1591s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-previous] PASSED [ 93%] 1591s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 93%] 1591s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-next] PASSED [ 93%] 1591s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 93%] 1591s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[right] PASSED [ 93%] 1592s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[right] PASSED [ 93%] 1592s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[right] PASSED [ 93%] 1592s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[right] PASSED [ 93%] 1592s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[right] PASSED [ 93%] 1592s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[right] PASSED [ 93%] 1592s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[right] PASSED [ 93%] 1592s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[right] PASSED [ 93%] 1592s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[right] PASSED [ 93%] 1594s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[right] PASSED [ 93%] 1594s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-none] PASSED [ 93%] 1594s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 93%] 1594s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-none] PASSED [ 93%] 1594s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 93%] 1595s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-none] PASSED [ 93%] 1595s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 93%] 1595s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-none] PASSED [ 93%] 1595s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 93%] 1595s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-previous] PASSED [ 93%] 1595s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 93%] 1595s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-next] PASSED [ 93%] 1595s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 93%] 1595s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[neither] PASSED [ 93%] 1595s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[neither] PASSED [ 93%] 1595s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[neither] PASSED [ 93%] 1595s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[neither] PASSED [ 93%] 1595s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[neither] PASSED [ 93%] 1595s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[neither] PASSED [ 93%] 1595s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[neither] PASSED [ 93%] 1595s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[neither] PASSED [ 93%] 1596s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[neither] PASSED [ 93%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[neither] PASSED [ 93%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[neither] PASSED [ 93%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[neither] PASSED [ 93%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[neither] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[neither] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[neither] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[neither] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[neither] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[neither] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[neither] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[right] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[right] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[right] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[right] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[right] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[right] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[right] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[right] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[right] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[right] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[left] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[left] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[left] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[left] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[left] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[left] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[left] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[left] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[left] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[left] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[both] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[both] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[both] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[both] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[both] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[both] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[both] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[both] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[both] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[both] PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_has_break PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_regular_holidays_sample PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_adhoc_holidays_sample PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_holidays_sample PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_late_opens_sample PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_sample PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_sample_time PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_weekdays PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_weekdays_time PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_early_closes_sample PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_early_closes_sample_time PASSED [ 94%] 1598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_late_opens PASSED [ 94%] 1599s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes PASSED [ 94%] 1599s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_open_close_break_start_end PASSED [ 94%] 1599s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_has_break PASSED [ 94%] 1599s tests/test_xtks_calendar.py::TestXTKSCalendar::test_next_prev_session PASSED [ 94%] 1599s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_offset PASSED [ 94%] 1599s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_session PASSED [ 94%] 1599s tests/test_xtks_calendar.py::TestXTKSCalendar::test_date_to_session PASSED [ 94%] 1601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_open_close PASSED [ 94%] 1601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_in_range PASSED [ 94%] 1601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_has_break PASSED [ 94%] 1601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_window PASSED [ 94%] 1601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_distance PASSED [ 94%] 1601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_trading_index PASSED [ 94%] 1601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_deprecated PASSED [ 94%] 1601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_golden_week_holidays PASSED [ 94%] 1601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_emperors_birthday PASSED [ 94%] 1601s tests/test_xtse_calendar.py::TestXTSECalendar::test_testbase_integrity PASSED [ 94%] 1601s tests/test_xtse_calendar.py::TestXTSECalendar::test_base_integrity PASSED [ 94%] 1604s tests/test_xtse_calendar.py::TestXTSECalendar::test_calculated_against_csv PASSED [ 94%] 1605s tests/test_xtse_calendar.py::TestXTSECalendar::test_start_end PASSED [ 94%] 1605s tests/test_xtse_calendar.py::TestXTSECalendar::test_invalid_input PASSED [ 94%] 1607s tests/test_xtse_calendar.py::TestXTSECalendar::test_bound_min PASSED [ 94%] 1608s tests/test_xtse_calendar.py::TestXTSECalendar::test_bound_max PASSED [ 94%] 1608s tests/test_xtse_calendar.py::TestXTSECalendar::test_sanity_check_session_lengths PASSED [ 94%] 1608s tests/test_xtse_calendar.py::TestXTSECalendar::test_adhoc_holidays_specification PASSED [ 94%] 1608s tests/test_xtse_calendar.py::TestXTSECalendar::test_daylight_savings PASSED [ 94%] 1608s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions PASSED [ 94%] 1608s tests/test_xtse_calendar.py::TestXTSECalendar::test_opens_closes_break_starts_ends PASSED [ 94%] 1608s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[both] PASSED [ 94%] 1608s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[both] PASSED [ 94%] 1608s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[both] PASSED [ 94%] 1608s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[both] PASSED [ 94%] 1608s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[both] PASSED [ 95%] 1608s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[both] PASSED [ 95%] 1608s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[both] PASSED [ 95%] 1608s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[both] PASSED [ 95%] 1609s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[both] PASSED [ 95%] 1610s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[both] PASSED [ 95%] 1610s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-next] PASSED [ 95%] 1610s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 95%] 1610s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-next] PASSED [ 95%] 1610s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 95%] 1610s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[left] PASSED [ 95%] 1610s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[left] PASSED [ 95%] 1610s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[left] PASSED [ 95%] 1610s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[left] PASSED [ 95%] 1610s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[left] PASSED [ 95%] 1610s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[left] PASSED [ 95%] 1610s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[left] PASSED [ 95%] 1610s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[left] PASSED [ 95%] 1611s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[left] PASSED [ 95%] 1612s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[left] PASSED [ 95%] 1612s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-previous] PASSED [ 95%] 1612s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 95%] 1612s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-previous] PASSED [ 95%] 1612s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 95%] 1612s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-previous] PASSED [ 95%] 1612s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 95%] 1612s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-next] PASSED [ 95%] 1612s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 95%] 1612s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[right] PASSED [ 95%] 1612s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[right] PASSED [ 95%] 1612s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[right] PASSED [ 95%] 1612s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[right] PASSED [ 95%] 1612s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[right] PASSED [ 95%] 1612s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[right] PASSED [ 95%] 1612s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[right] PASSED [ 95%] 1612s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[right] PASSED [ 95%] 1613s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[right] PASSED [ 95%] 1614s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[right] PASSED [ 95%] 1614s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-none] PASSED [ 95%] 1614s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 95%] 1614s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-none] PASSED [ 95%] 1614s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 95%] 1614s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-none] PASSED [ 95%] 1614s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 95%] 1614s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-none] PASSED [ 95%] 1614s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 95%] 1614s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-previous] PASSED [ 95%] 1614s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 95%] 1614s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-next] PASSED [ 95%] 1614s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 95%] 1614s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[neither] PASSED [ 95%] 1615s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[neither] PASSED [ 95%] 1615s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[neither] PASSED [ 95%] 1615s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[neither] PASSED [ 95%] 1615s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[neither] PASSED [ 95%] 1615s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[neither] PASSED [ 95%] 1615s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[neither] PASSED [ 95%] 1615s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[neither] PASSED [ 95%] 1615s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[neither] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[neither] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[neither] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[neither] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[neither] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[neither] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[neither] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[neither] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[neither] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[neither] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[neither] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[right] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[right] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[right] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[right] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[right] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[right] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[right] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[right] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[right] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[right] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[left] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[left] PASSED [ 95%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[left] PASSED [ 96%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[left] PASSED [ 96%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[left] PASSED [ 96%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[left] PASSED [ 96%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[left] PASSED [ 96%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[left] PASSED [ 96%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[left] PASSED [ 96%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[left] PASSED [ 96%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[both] PASSED [ 96%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[both] PASSED [ 96%] 1616s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[both] PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[both] PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[both] PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[both] PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[both] PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[both] PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[both] PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[both] PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_has_break PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_regular_holidays_sample PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_adhoc_holidays_sample PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_holidays_sample PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_late_opens_sample PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_sample PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_sample_time PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_weekdays PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_weekdays_time PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_early_closes_sample PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_early_closes_sample_time PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_late_opens PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_open_close_break_start_end PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_has_break PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_next_prev_session PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_offset PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_session PASSED [ 96%] 1617s tests/test_xtse_calendar.py::TestXTSECalendar::test_date_to_session PASSED [ 96%] 1620s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_open_close PASSED [ 96%] 1620s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_in_range PASSED [ 96%] 1620s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_has_break PASSED [ 96%] 1620s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_window PASSED [ 96%] 1620s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_distance PASSED [ 96%] 1620s tests/test_xtse_calendar.py::TestXTSECalendar::test_trading_index PASSED [ 96%] 1620s tests/test_xtse_calendar.py::TestXTSECalendar::test_deprecated PASSED [ 96%] 1620s tests/test_xwar_calendar.py::TestXWARCalendar::test_testbase_integrity PASSED [ 96%] 1620s tests/test_xwar_calendar.py::TestXWARCalendar::test_base_integrity PASSED [ 96%] 1623s tests/test_xwar_calendar.py::TestXWARCalendar::test_calculated_against_csv PASSED [ 96%] 1623s tests/test_xwar_calendar.py::TestXWARCalendar::test_start_end PASSED [ 96%] 1623s tests/test_xwar_calendar.py::TestXWARCalendar::test_invalid_input PASSED [ 96%] 1626s tests/test_xwar_calendar.py::TestXWARCalendar::test_bound_min PASSED [ 96%] 1626s tests/test_xwar_calendar.py::TestXWARCalendar::test_bound_max PASSED [ 96%] 1626s tests/test_xwar_calendar.py::TestXWARCalendar::test_sanity_check_session_lengths PASSED [ 96%] 1626s tests/test_xwar_calendar.py::TestXWARCalendar::test_adhoc_holidays_specification PASSED [ 96%] 1626s tests/test_xwar_calendar.py::TestXWARCalendar::test_daylight_savings PASSED [ 96%] 1626s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions PASSED [ 96%] 1626s tests/test_xwar_calendar.py::TestXWARCalendar::test_opens_closes_break_starts_ends PASSED [ 96%] 1626s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[both] PASSED [ 96%] 1627s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[both] PASSED [ 96%] 1627s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[both] PASSED [ 96%] 1627s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[both] PASSED [ 96%] 1627s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[both] PASSED [ 96%] 1627s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[both] PASSED [ 96%] 1627s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[both] PASSED [ 96%] 1627s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[both] PASSED [ 96%] 1627s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[both] PASSED [ 96%] 1628s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[both] PASSED [ 96%] 1628s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-next] PASSED [ 96%] 1628s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 96%] 1628s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-next] PASSED [ 96%] 1628s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 96%] 1628s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[left] PASSED [ 96%] 1629s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[left] PASSED [ 96%] 1629s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[left] PASSED [ 96%] 1629s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[left] PASSED [ 96%] 1629s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[left] PASSED [ 96%] 1629s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[left] PASSED [ 96%] 1629s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[left] PASSED [ 96%] 1629s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[left] PASSED [ 96%] 1629s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[left] PASSED [ 96%] 1630s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[left] PASSED [ 96%] 1630s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-previous] PASSED [ 96%] 1630s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 96%] 1630s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-previous] PASSED [ 97%] 1630s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 97%] 1631s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-previous] PASSED [ 97%] 1631s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 97%] 1631s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-next] PASSED [ 97%] 1631s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 97%] 1631s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[right] PASSED [ 97%] 1631s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[right] PASSED [ 97%] 1631s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[right] PASSED [ 97%] 1631s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[right] PASSED [ 97%] 1631s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[right] PASSED [ 97%] 1631s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[right] PASSED [ 97%] 1631s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[right] PASSED [ 97%] 1631s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[right] PASSED [ 97%] 1631s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[right] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[right] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-none] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-none] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-none] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-none] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-previous] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-next] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[neither] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[neither] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[neither] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[neither] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[neither] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[neither] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[neither] PASSED [ 97%] 1633s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[neither] PASSED [ 97%] 1634s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[neither] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[neither] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[neither] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[neither] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[neither] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[neither] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[neither] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[neither] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[neither] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[neither] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[neither] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[right] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[right] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[right] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[right] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[right] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[right] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[right] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[right] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[right] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[right] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[left] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[left] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[left] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[left] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[left] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[left] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[left] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[left] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[left] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[left] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[both] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[both] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[both] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[both] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[both] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[both] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[both] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[both] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[both] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[both] PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_has_break PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_regular_holidays_sample PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_adhoc_holidays_sample PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_holidays_sample PASSED [ 97%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_late_opens_sample PASSED [ 98%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_sample PASSED [ 98%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_sample_time PASSED [ 98%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_weekdays PASSED [ 98%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_weekdays_time PASSED [ 98%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_early_closes_sample PASSED [ 98%] 1635s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_early_closes_sample_time PASSED [ 98%] 1636s tests/test_xwar_calendar.py::TestXWARCalendar::test_late_opens PASSED [ 98%] 1636s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes PASSED [ 98%] 1636s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_open_close_break_start_end PASSED [ 98%] 1636s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_has_break PASSED [ 98%] 1636s tests/test_xwar_calendar.py::TestXWARCalendar::test_next_prev_session PASSED [ 98%] 1636s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_offset PASSED [ 98%] 1636s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_session PASSED [ 98%] 1636s tests/test_xwar_calendar.py::TestXWARCalendar::test_date_to_session PASSED [ 98%] 1639s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_open_close PASSED [ 98%] 1639s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_in_range PASSED [ 98%] 1639s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_has_break PASSED [ 98%] 1639s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_window PASSED [ 98%] 1639s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_distance PASSED [ 98%] 1639s tests/test_xwar_calendar.py::TestXWARCalendar::test_trading_index PASSED [ 98%] 1639s tests/test_xwar_calendar.py::TestXWARCalendar::test_deprecated PASSED [ 98%] 1639s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_testbase_integrity PASSED [ 98%] 1639s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_base_integrity PASSED [ 98%] 1642s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calculated_against_csv PASSED [ 98%] 1643s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_start_end PASSED [ 98%] 1643s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_invalid_input PASSED [ 98%] 1645s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_bound_min PASSED [ 98%] 1645s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_bound_max PASSED [ 98%] 1645s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sanity_check_session_lengths PASSED [ 98%] 1645s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_adhoc_holidays_specification PASSED [ 98%] 1645s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_daylight_savings PASSED [ 98%] 1645s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions PASSED [ 98%] 1645s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_opens_closes_break_starts_ends PASSED [ 98%] 1646s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[both] PASSED [ 98%] 1646s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[both] PASSED [ 98%] 1646s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[both] PASSED [ 98%] 1646s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[both] PASSED [ 98%] 1646s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[both] PASSED [ 98%] 1646s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[both] PASSED [ 98%] 1646s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[both] PASSED [ 98%] 1646s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[both] PASSED [ 98%] 1646s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[both] PASSED [ 98%] 1648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[both] PASSED [ 98%] 1648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-next] PASSED [ 98%] 1648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 98%] 1648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-next] PASSED [ 98%] 1648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 98%] 1648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[left] PASSED [ 98%] 1648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[left] PASSED [ 98%] 1648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[left] PASSED [ 98%] 1648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[left] PASSED [ 98%] 1648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[left] PASSED [ 98%] 1648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[left] PASSED [ 98%] 1648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[left] PASSED [ 98%] 1648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[left] PASSED [ 98%] 1649s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[left] PASSED [ 98%] 1650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[left] PASSED [ 98%] 1650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-previous] PASSED [ 98%] 1650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 98%] 1650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-previous] PASSED [ 98%] 1650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 98%] 1650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-previous] PASSED [ 98%] 1650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 98%] 1650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-next] PASSED [ 98%] 1650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 98%] 1650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[right] PASSED [ 98%] 1651s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[right] PASSED [ 98%] 1651s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[right] PASSED [ 98%] 1651s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[right] PASSED [ 98%] 1651s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[right] PASSED [ 98%] 1651s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[right] PASSED [ 98%] 1651s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[right] PASSED [ 98%] 1651s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[right] PASSED [ 98%] 1651s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[right] PASSED [ 98%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[right] PASSED [ 98%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-none] PASSED [ 98%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 98%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-none] PASSED [ 98%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 98%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-none] PASSED [ 98%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 98%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-none] PASSED [ 99%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 99%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-previous] PASSED [ 99%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 99%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-next] PASSED [ 99%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 99%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[neither] PASSED [ 99%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[neither] PASSED [ 99%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[neither] PASSED [ 99%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[neither] PASSED [ 99%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[neither] PASSED [ 99%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[neither] PASSED [ 99%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[neither] PASSED [ 99%] 1653s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[neither] PASSED [ 99%] 1654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[neither] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[neither] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[neither] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[neither] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[neither] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[neither] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[neither] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[neither] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[neither] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[neither] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[neither] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[right] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[right] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[right] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[right] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[right] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[right] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[right] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[right] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[right] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[right] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[left] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[left] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[left] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[left] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[left] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[left] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[left] PASSED [ 99%] 1655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[left] PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[left] PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[left] PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[both] PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[both] PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[both] PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[both] PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[both] PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[both] PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[both] PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[both] PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[both] PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[both] PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_has_break PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_regular_holidays_sample PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_adhoc_holidays_sample PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_holidays_sample PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_late_opens_sample PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_sample PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_sample_time PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_weekdays PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_weekdays_time PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_early_closes_sample PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_early_closes_sample_time PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_late_opens PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_open_close_break_start_end PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_has_break PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_next_prev_session PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_offset PASSED [ 99%] 1656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_session PASSED [ 99%] 1657s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_date_to_session PASSED [ 99%] 1659s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_open_close PASSED [ 99%] 1659s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_in_range PASSED [ 99%] 1659s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_has_break PASSED [ 99%] 1659s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_window PASSED [ 99%] 1659s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_distance PASSED [ 99%] 1660s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_trading_index PASSED [ 99%] 1660s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_deprecated PASSED [100%] 1660s 1660s =============================== warnings summary =============================== 1660s tests/test_calendar_helpers.py:456 1660s /tmp/autopkgtest.OstGhU/autopkgtest_tmp/tests/test_calendar_helpers.py:456: HypothesisWarning: Return-type annotation is `st.SearchStrategy[tuple[pandas._libs.tslibs.timestamps.Timestamp, pandas._libs.tslibs.timestamps.Timestamp]]`, but the decorated function should return a value (not a strategy) 1660s @st.composite 1660s 1660s tests/test_calendar_helpers.py:466 1660s /tmp/autopkgtest.OstGhU/autopkgtest_tmp/tests/test_calendar_helpers.py:466: HypothesisWarning: Return-type annotation is `st.SearchStrategy[tuple[pandas._libs.tslibs.timestamps.Timestamp, pandas._libs.tslibs.timestamps.Timestamp]]`, but the decorated function should return a value (not a strategy) 1660s @st.composite 1660s 1660s tests/test_calendar_helpers.py:500 1660s /tmp/autopkgtest.OstGhU/autopkgtest_tmp/tests/test_calendar_helpers.py:500: HypothesisWarning: Return-type annotation is `st.SearchStrategy[pandas._libs.tslibs.timedeltas.Timedelta]`, but the decorated function should return a value (not a strategy) 1660s @st.composite 1660s 1660s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1660s =========== 8188 passed, 1 xfailed, 3 warnings in 1263.12s (0:21:03) =========== 1660s autopkgtest [16:05:00]: test run-tests: -----------------------] 1661s run-tests PASS 1661s autopkgtest [16:05:01]: test run-tests: - - - - - - - - - - results - - - - - - - - - - 1661s autopkgtest [16:05:01]: @@@@@@@@@@@@@@@@@@@@ summary 1661s run-tests PASS