0s autopkgtest [01:47:12]: starting date and time: 2024-07-27 01:47:12+0000 0s autopkgtest [01:47:12]: git checkout: fd3bed09 nova: allow more retries for quota issues 0s autopkgtest [01:47:12]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.97jp0hwu/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python-click --apt-upgrade sqlite-utils --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python-click/8.1.7-2 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos02-s390x-5.secgroup --name adt-oracular-s390x-sqlite-utils-20240727-012101-juju-7f2275-prod-proposed-migration-environment-2-998d3eb0-e034-48ac-85d1-6647efb23a6b --image adt/ubuntu-oracular-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -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/ 69s autopkgtest [01:48:21]: testbed dpkg architecture: s390x 69s autopkgtest [01:48:21]: testbed apt version: 2.9.6 69s autopkgtest [01:48:21]: @@@@@@@@@@@@@@@@@@@@ test bed setup 70s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 70s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 71s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [401 kB] 71s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [4288 B] 71s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [51.2 kB] 71s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x Packages [66.7 kB] 71s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x c-n-f Metadata [2112 B] 71s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted s390x Packages [1368 B] 71s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted s390x c-n-f Metadata [120 B] 71s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x Packages [306 kB] 71s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x c-n-f Metadata [8372 B] 71s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse s390x Packages [2072 B] 71s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse s390x c-n-f Metadata [120 B] 71s Fetched 978 kB in 1s (1391 kB/s) 71s Reading package lists... 73s Reading package lists... 73s Building dependency tree... 73s Reading state information... 73s Calculating upgrade... 74s The following packages will be upgraded: 74s binutils binutils-common binutils-s390x-linux-gnu bpftrace libbinutils 74s libclang-cpp18 libclang1-18 libctf-nobfd0 libctf0 libllvm18 libsframe1 74s 11 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 74s Need to get 77.0 MB of archives. 74s After this operation, 95.2 kB of additional disk space will be used. 74s Get:1 http://ftpmaster.internal/ubuntu oracular/main s390x libctf0 s390x 2.42.90.20240720-2ubuntu1 [100 kB] 74s Get:2 http://ftpmaster.internal/ubuntu oracular/main s390x libctf-nobfd0 s390x 2.42.90.20240720-2ubuntu1 [101 kB] 74s Get:3 http://ftpmaster.internal/ubuntu oracular/main s390x binutils-s390x-linux-gnu s390x 2.42.90.20240720-2ubuntu1 [2290 kB] 74s Get:4 http://ftpmaster.internal/ubuntu oracular/main s390x libbinutils s390x 2.42.90.20240720-2ubuntu1 [470 kB] 74s Get:5 http://ftpmaster.internal/ubuntu oracular/main s390x binutils s390x 2.42.90.20240720-2ubuntu1 [3062 B] 74s Get:6 http://ftpmaster.internal/ubuntu oracular/main s390x binutils-common s390x 2.42.90.20240720-2ubuntu1 [221 kB] 74s Get:7 http://ftpmaster.internal/ubuntu oracular/main s390x libsframe1 s390x 2.42.90.20240720-2ubuntu1 [13.9 kB] 74s Get:8 http://ftpmaster.internal/ubuntu oracular/main s390x libclang-cpp18 s390x 1:18.1.8-4ubuntu1 [15.8 MB] 75s Get:9 http://ftpmaster.internal/ubuntu oracular/main s390x libllvm18 s390x 1:18.1.8-4ubuntu1 [32.9 MB] 76s Get:10 http://ftpmaster.internal/ubuntu oracular/main s390x libclang1-18 s390x 1:18.1.8-4ubuntu1 [9231 kB] 76s Get:11 http://ftpmaster.internal/ubuntu oracular/main s390x bpftrace s390x 0.21.2-1ubuntu1 [15.9 MB] 77s Fetched 77.0 MB in 3s (22.9 MB/s) 77s (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 ... 54774 files and directories currently installed.) 77s Preparing to unpack .../00-libctf0_2.42.90.20240720-2ubuntu1_s390x.deb ... 77s Unpacking libctf0:s390x (2.42.90.20240720-2ubuntu1) over (2.42.50.20240710-1ubuntu1) ... 77s Preparing to unpack .../01-libctf-nobfd0_2.42.90.20240720-2ubuntu1_s390x.deb ... 77s Unpacking libctf-nobfd0:s390x (2.42.90.20240720-2ubuntu1) over (2.42.50.20240710-1ubuntu1) ... 77s Preparing to unpack .../02-binutils-s390x-linux-gnu_2.42.90.20240720-2ubuntu1_s390x.deb ... 77s Unpacking binutils-s390x-linux-gnu (2.42.90.20240720-2ubuntu1) over (2.42.50.20240710-1ubuntu1) ... 77s Preparing to unpack .../03-libbinutils_2.42.90.20240720-2ubuntu1_s390x.deb ... 77s Unpacking libbinutils:s390x (2.42.90.20240720-2ubuntu1) over (2.42.50.20240710-1ubuntu1) ... 77s Preparing to unpack .../04-binutils_2.42.90.20240720-2ubuntu1_s390x.deb ... 77s Unpacking binutils (2.42.90.20240720-2ubuntu1) over (2.42.50.20240710-1ubuntu1) ... 77s Preparing to unpack .../05-binutils-common_2.42.90.20240720-2ubuntu1_s390x.deb ... 77s Unpacking binutils-common:s390x (2.42.90.20240720-2ubuntu1) over (2.42.50.20240710-1ubuntu1) ... 77s Preparing to unpack .../06-libsframe1_2.42.90.20240720-2ubuntu1_s390x.deb ... 77s Unpacking libsframe1:s390x (2.42.90.20240720-2ubuntu1) over (2.42.50.20240710-1ubuntu1) ... 77s Preparing to unpack .../07-libclang-cpp18_1%3a18.1.8-4ubuntu1_s390x.deb ... 77s Unpacking libclang-cpp18 (1:18.1.8-4ubuntu1) over (1:18.1.8-1) ... 78s Preparing to unpack .../08-libllvm18_1%3a18.1.8-4ubuntu1_s390x.deb ... 78s Unpacking libllvm18:s390x (1:18.1.8-4ubuntu1) over (1:18.1.8-1) ... 79s Preparing to unpack .../09-libclang1-18_1%3a18.1.8-4ubuntu1_s390x.deb ... 79s Unpacking libclang1-18 (1:18.1.8-4ubuntu1) over (1:18.1.8-1) ... 80s Preparing to unpack .../10-bpftrace_0.21.2-1ubuntu1_s390x.deb ... 80s Unpacking bpftrace (0.21.2-1ubuntu1) over (0.21.0-1ubuntu6) ... 80s Setting up binutils-common:s390x (2.42.90.20240720-2ubuntu1) ... 80s Setting up libctf-nobfd0:s390x (2.42.90.20240720-2ubuntu1) ... 80s Setting up libsframe1:s390x (2.42.90.20240720-2ubuntu1) ... 80s Setting up libbinutils:s390x (2.42.90.20240720-2ubuntu1) ... 80s Setting up libllvm18:s390x (1:18.1.8-4ubuntu1) ... 80s Setting up libctf0:s390x (2.42.90.20240720-2ubuntu1) ... 80s Setting up libclang1-18 (1:18.1.8-4ubuntu1) ... 80s Setting up binutils-s390x-linux-gnu (2.42.90.20240720-2ubuntu1) ... 80s Setting up bpftrace (0.21.2-1ubuntu1) ... 80s Setting up binutils (2.42.90.20240720-2ubuntu1) ... 80s Setting up libclang-cpp18 (1:18.1.8-4ubuntu1) ... 80s Processing triggers for man-db (2.12.1-2) ... 81s Processing triggers for libc-bin (2.39-0ubuntu9) ... 81s Reading package lists... 81s Building dependency tree... 81s Reading state information... 81s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 82s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 82s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 82s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 82s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 83s Reading package lists... 83s Reading package lists... 83s Building dependency tree... 83s Reading state information... 83s Calculating upgrade... 83s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 83s Reading package lists... 83s Building dependency tree... 83s Reading state information... 83s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 86s autopkgtest [01:48:38]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP Sat Apr 20 00:14:26 UTC 2024 86s autopkgtest [01:48:38]: @@@@@@@@@@@@@@@@@@@@ apt-source sqlite-utils 88s Get:1 http://ftpmaster.internal/ubuntu oracular/universe sqlite-utils 3.36-1 (dsc) [2410 B] 88s Get:2 http://ftpmaster.internal/ubuntu oracular/universe sqlite-utils 3.36-1 (tar) [460 kB] 88s Get:3 http://ftpmaster.internal/ubuntu oracular/universe sqlite-utils 3.36-1 (diff) [4340 B] 88s gpgv: Signature made Thu Mar 7 11:11:09 2024 UTC 88s gpgv: using RSA key FB8ACFA78C726089C38AD0269605A1098C63B92A 88s gpgv: Can't check signature: No public key 88s dpkg-source: warning: cannot verify inline signature for ./sqlite-utils_3.36-1.dsc: no acceptable signature found 88s autopkgtest [01:48:40]: testing package sqlite-utils version 3.36-1 88s autopkgtest [01:48:40]: build not needed 88s autopkgtest [01:48:40]: test run-tests: preparing testbed 89s Reading package lists... 90s Building dependency tree... 90s Reading state information... 90s Starting pkgProblemResolver with broken count: 0 90s Starting 2 pkgProblemResolver with broken count: 0 90s Done 90s The following additional packages will be installed: 90s libjs-jquery libjs-sphinxdoc libjs-underscore python3-all python3-click 90s python3-click-default-group python3-colorama python3-dateutil 90s python3-hypothesis python3-iniconfig python3-packaging python3-pluggy 90s python3-pytest python3-six python3-sortedcontainers python3-sqlite-fts4 90s python3-tabulate sqlite-utils 90s Suggested packages: 90s python-hypothesis-doc python-sortedcontainers-doc 90s Recommended packages: 90s javascript-common 90s The following NEW packages will be installed: 90s autopkgtest-satdep libjs-jquery libjs-sphinxdoc libjs-underscore python3-all 90s python3-click python3-click-default-group python3-colorama python3-dateutil 90s python3-hypothesis python3-iniconfig python3-packaging python3-pluggy 90s python3-pytest python3-six python3-sortedcontainers python3-sqlite-fts4 90s python3-tabulate sqlite-utils 90s 0 upgraded, 19 newly installed, 0 to remove and 0 not upgraded. 90s Need to get 2116 kB/2117 kB of archives. 90s After this operation, 8004 kB of additional disk space will be used. 90s Get:1 /tmp/autopkgtest.aslOwu/1-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [756 B] 90s Get:2 http://ftpmaster.internal/ubuntu oracular/main s390x libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 90s Get:3 http://ftpmaster.internal/ubuntu oracular/main s390x libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 90s Get:4 http://ftpmaster.internal/ubuntu oracular/main s390x libjs-sphinxdoc all 7.3.7-3 [154 kB] 91s Get:5 http://ftpmaster.internal/ubuntu oracular/main s390x python3-all s390x 3.12.3-0ubuntu1 [890 B] 91s Get:6 http://ftpmaster.internal/ubuntu oracular/main s390x python3-colorama all 0.4.6-4 [32.1 kB] 91s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x python3-click all 8.1.7-2 [79.5 kB] 91s Get:8 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-click-default-group all 1.2.4-1 [5684 B] 91s Get:9 http://ftpmaster.internal/ubuntu oracular/main s390x python3-six all 1.16.0-6 [13.0 kB] 91s Get:10 http://ftpmaster.internal/ubuntu oracular/main s390x python3-dateutil all 2.9.0-2 [80.3 kB] 91s Get:11 http://ftpmaster.internal/ubuntu oracular/main s390x python3-sortedcontainers all 2.4.0-2 [27.6 kB] 91s Get:12 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-hypothesis all 6.105.1-1 [321 kB] 91s Get:13 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 91s Get:14 http://ftpmaster.internal/ubuntu oracular/main s390x python3-packaging all 24.1-1 [41.4 kB] 91s Get:15 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pluggy all 1.5.0-1 [21.0 kB] 91s Get:16 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pytest all 7.4.4-1 [305 kB] 91s Get:17 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-sqlite-fts4 all 1.0.3-2 [9228 B] 91s Get:18 http://ftpmaster.internal/ubuntu oracular/main s390x python3-tabulate all 0.9.0-1 [45.3 kB] 91s Get:19 http://ftpmaster.internal/ubuntu oracular/universe s390x sqlite-utils all 3.36-1 [528 kB] 91s Fetched 2116 kB in 1s (3107 kB/s) 91s Selecting previously unselected package libjs-jquery. 91s (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 ... 54775 files and directories currently installed.) 91s Preparing to unpack .../00-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 91s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 91s Selecting previously unselected package libjs-underscore. 91s Preparing to unpack .../01-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 91s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 91s Selecting previously unselected package libjs-sphinxdoc. 91s Preparing to unpack .../02-libjs-sphinxdoc_7.3.7-3_all.deb ... 91s Unpacking libjs-sphinxdoc (7.3.7-3) ... 91s Selecting previously unselected package python3-all. 91s Preparing to unpack .../03-python3-all_3.12.3-0ubuntu1_s390x.deb ... 91s Unpacking python3-all (3.12.3-0ubuntu1) ... 91s Selecting previously unselected package python3-colorama. 91s Preparing to unpack .../04-python3-colorama_0.4.6-4_all.deb ... 91s Unpacking python3-colorama (0.4.6-4) ... 91s Selecting previously unselected package python3-click. 91s Preparing to unpack .../05-python3-click_8.1.7-2_all.deb ... 91s Unpacking python3-click (8.1.7-2) ... 91s Selecting previously unselected package python3-click-default-group. 91s Preparing to unpack .../06-python3-click-default-group_1.2.4-1_all.deb ... 91s Unpacking python3-click-default-group (1.2.4-1) ... 91s Selecting previously unselected package python3-six. 91s Preparing to unpack .../07-python3-six_1.16.0-6_all.deb ... 91s Unpacking python3-six (1.16.0-6) ... 91s Selecting previously unselected package python3-dateutil. 91s Preparing to unpack .../08-python3-dateutil_2.9.0-2_all.deb ... 91s Unpacking python3-dateutil (2.9.0-2) ... 91s Selecting previously unselected package python3-sortedcontainers. 91s Preparing to unpack .../09-python3-sortedcontainers_2.4.0-2_all.deb ... 91s Unpacking python3-sortedcontainers (2.4.0-2) ... 91s Selecting previously unselected package python3-hypothesis. 91s Preparing to unpack .../10-python3-hypothesis_6.105.1-1_all.deb ... 91s Unpacking python3-hypothesis (6.105.1-1) ... 91s Selecting previously unselected package python3-iniconfig. 91s Preparing to unpack .../11-python3-iniconfig_1.1.1-2_all.deb ... 91s Unpacking python3-iniconfig (1.1.1-2) ... 91s Selecting previously unselected package python3-packaging. 91s Preparing to unpack .../12-python3-packaging_24.1-1_all.deb ... 91s Unpacking python3-packaging (24.1-1) ... 91s Selecting previously unselected package python3-pluggy. 91s Preparing to unpack .../13-python3-pluggy_1.5.0-1_all.deb ... 91s Unpacking python3-pluggy (1.5.0-1) ... 91s Selecting previously unselected package python3-pytest. 91s Preparing to unpack .../14-python3-pytest_7.4.4-1_all.deb ... 91s Unpacking python3-pytest (7.4.4-1) ... 91s Selecting previously unselected package python3-sqlite-fts4. 91s Preparing to unpack .../15-python3-sqlite-fts4_1.0.3-2_all.deb ... 91s Unpacking python3-sqlite-fts4 (1.0.3-2) ... 91s Selecting previously unselected package python3-tabulate. 91s Preparing to unpack .../16-python3-tabulate_0.9.0-1_all.deb ... 91s Unpacking python3-tabulate (0.9.0-1) ... 91s Selecting previously unselected package sqlite-utils. 91s Preparing to unpack .../17-sqlite-utils_3.36-1_all.deb ... 91s Unpacking sqlite-utils (3.36-1) ... 91s Selecting previously unselected package autopkgtest-satdep. 91s Preparing to unpack .../18-1-autopkgtest-satdep.deb ... 91s Unpacking autopkgtest-satdep (0) ... 91s Setting up python3-iniconfig (1.1.1-2) ... 91s Setting up python3-colorama (0.4.6-4) ... 92s Setting up python3-tabulate (0.9.0-1) ... 92s Setting up python3-all (3.12.3-0ubuntu1) ... 92s Setting up python3-sortedcontainers (2.4.0-2) ... 92s Setting up python3-sqlite-fts4 (1.0.3-2) ... 92s Setting up python3-click (8.1.7-2) ... 92s Setting up python3-six (1.16.0-6) ... 92s Setting up python3-packaging (24.1-1) ... 92s Setting up python3-click-default-group (1.2.4-1) ... 93s Setting up python3-pluggy (1.5.0-1) ... 93s Setting up python3-dateutil (2.9.0-2) ... 93s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 93s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 93s Setting up python3-pytest (7.4.4-1) ... 93s Setting up python3-hypothesis (6.105.1-1) ... 94s Setting up libjs-sphinxdoc (7.3.7-3) ... 94s Setting up sqlite-utils (3.36-1) ... 94s Setting up autopkgtest-satdep (0) ... 94s Processing triggers for man-db (2.12.1-2) ... 96s (Reading database ... 55343 files and directories currently installed.) 96s Removing autopkgtest-satdep (0) ... 97s autopkgtest [01:48:49]: test run-tests: [----------------------- 97s ============================= test session starts ============================== 97s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 97s cachedir: .pytest_cache 97s hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase(PosixPath('/tmp/autopkgtest.aslOwu/autopkgtest_tmp/.hypothesis/examples')) 97s rootdir: /tmp/autopkgtest.aslOwu/autopkgtest_tmp 97s plugins: hypothesis-6.105.1 98s collecting ... collected 997 items 98s 98s tests/test_analyze.py::test_analyze_whole_database PASSED [ 0%] 98s tests/test_analyze.py::test_analyze_one_table[db_method_with_name] PASSED [ 0%] 98s tests/test_analyze.py::test_analyze_one_table[table_method] PASSED [ 0%] 98s tests/test_analyze.py::test_analyze_index_by_name PASSED [ 0%] 98s tests/test_analyze_tables.py::test_analyze_column[id-extra_kwargs0-expected0] PASSED [ 0%] 98s tests/test_analyze_tables.py::test_analyze_column[owner-extra_kwargs1-expected1] PASSED [ 0%] 98s tests/test_analyze_tables.py::test_analyze_column[size-extra_kwargs2-expected2] PASSED [ 0%] 98s tests/test_analyze_tables.py::test_analyze_column[owner-extra_kwargs3-expected3] PASSED [ 0%] 98s tests/test_analyze_tables.py::test_analyze_column[owner-extra_kwargs4-expected4] PASSED [ 0%] 98s tests/test_analyze_tables.py::test_analyze_table PASSED [ 1%] 98s tests/test_analyze_tables.py::test_analyze_table_save PASSED [ 1%] 98s tests/test_analyze_tables.py::test_analyze_table_save_no_most_no_least_options[False-False] PASSED [ 1%] 98s tests/test_analyze_tables.py::test_analyze_table_save_no_most_no_least_options[True-False] PASSED [ 1%] 98s tests/test_analyze_tables.py::test_analyze_table_save_no_most_no_least_options[False-True] PASSED [ 1%] 98s tests/test_analyze_tables.py::test_analyze_table_save_no_most_no_least_options[True-True] PASSED [ 1%] 98s tests/test_analyze_tables.py::test_analyze_table_column_all_nulls PASSED [ 1%] 98s tests/test_analyze_tables.py::test_analyze_table_validate_columns[args0-These columns were not found: bad_column\n] PASSED [ 1%] 98s tests/test_analyze_tables.py::test_analyze_table_validate_columns[args1-These columns were not found: age\n] PASSED [ 1%] 98s tests/test_analyze_tables.py::test_analyze_table_validate_columns[args2-None] PASSED [ 1%] 98s tests/test_analyze_tables.py::test_analyze_table_validate_columns[args3-These columns were not found: age, bad\n] PASSED [ 2%] 98s tests/test_attach.py::test_attach PASSED [ 2%] 98s tests/test_cli.py::test_help[options0] PASSED [ 2%] 98s tests/test_cli.py::test_help[options1] PASSED [ 2%] 98s tests/test_cli.py::test_help[options2] PASSED [ 2%] 98s tests/test_cli.py::test_help[options3] PASSED [ 2%] 98s tests/test_cli.py::test_tables PASSED [ 2%] 98s tests/test_cli.py::test_views PASSED [ 2%] 98s tests/test_cli.py::test_tables_fts4 PASSED [ 2%] 98s tests/test_cli.py::test_tables_fts5 PASSED [ 2%] 98s tests/test_cli.py::test_tables_counts_and_columns PASSED [ 3%] 98s tests/test_cli.py::test_tables_counts_and_columns_csv[--csv-table,count,columns\nGosh,0,"c1\nc2\nc3"\nGosh2,0,"c1\nc2\nc3"\nlots,30,"id\nage"] PASSED [ 3%] 98s tests/test_cli.py::test_tables_counts_and_columns_csv[--tsv-table\tcount\tcolumns\nGosh\t0\t['c1', 'c2', 'c3']\nGosh2\t0\t['c1', 'c2', 'c3']\nlots\t30\t['id', 'age']] PASSED [ 3%] 98s tests/test_cli.py::test_tables_schema PASSED [ 3%] 98s tests/test_cli.py::test_output_table[options0-c1 c2 c3\n----- ----- ----------\nverb0 noun0 adjective0\nverb1 noun1 adjective1\nverb2 noun2 adjective2\nverb3 noun3 adjective3] PASSED [ 3%] 98s tests/test_cli.py::test_output_table[options1-c1 c2 c3\n----- ----- ----------\nverb0 noun0 adjective0\nverb1 noun1 adjective1\nverb2 noun2 adjective2\nverb3 noun3 adjective3] PASSED [ 3%] 98s tests/test_cli.py::test_output_table[options2-===== ===== ==========\nc1 c2 c3\n===== ===== ==========\nverb0 noun0 adjective0\nverb1 noun1 adjective1\nverb2 noun2 adjective2\nverb3 noun3 adjective3\n===== ===== ==========] PASSED [ 3%] 98s tests/test_cli.py::test_create_index PASSED [ 3%] 98s tests/test_cli.py::test_create_index_analyze PASSED [ 3%] 98s tests/test_cli.py::test_create_index_desc PASSED [ 3%] 98s tests/test_cli.py::test_add_column[text-TEXT-CREATE TABLE [dogs] (\n [name] TEXT\n, [text] TEXT)] PASSED [ 4%] 98s tests/test_cli.py::test_add_column[text-str-CREATE TABLE [dogs] (\n [name] TEXT\n, [text] TEXT)] PASSED [ 4%] 98s tests/test_cli.py::test_add_column[text-STR-CREATE TABLE [dogs] (\n [name] TEXT\n, [text] TEXT)] PASSED [ 4%] 98s tests/test_cli.py::test_add_column[integer-INTEGER-CREATE TABLE [dogs] (\n [name] TEXT\n, [integer] INTEGER)] PASSED [ 4%] 98s tests/test_cli.py::test_add_column[integer-int-CREATE TABLE [dogs] (\n [name] TEXT\n, [integer] INTEGER)] PASSED [ 4%] 98s tests/test_cli.py::test_add_column[float-FLOAT-CREATE TABLE [dogs] (\n [name] TEXT\n, [float] FLOAT)] PASSED [ 4%] 98s tests/test_cli.py::test_add_column[blob-blob-CREATE TABLE [dogs] (\n [name] TEXT\n, [blob] BLOB)] PASSED [ 4%] 98s tests/test_cli.py::test_add_column[blob-BLOB-CREATE TABLE [dogs] (\n [name] TEXT\n, [blob] BLOB)] PASSED [ 4%] 98s tests/test_cli.py::test_add_column[blob-bytes-CREATE TABLE [dogs] (\n [name] TEXT\n, [blob] BLOB)] PASSED [ 4%] 98s tests/test_cli.py::test_add_column[blob-BYTES-CREATE TABLE [dogs] (\n [name] TEXT\n, [blob] BLOB)] PASSED [ 4%] 98s tests/test_cli.py::test_add_column[default-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [default] TEXT)] PASSED [ 5%] 98s tests/test_cli.py::test_add_column_ignore[True] PASSED [ 5%] 98s tests/test_cli.py::test_add_column_ignore[False] PASSED [ 5%] 98s tests/test_cli.py::test_add_column_not_null_default PASSED [ 5%] 98s tests/test_cli.py::test_add_foreign_key[args0-Explicit other_table and other_column] PASSED [ 5%] 98s tests/test_cli.py::test_add_foreign_key[args1-Explicit other_table, guess other_column] PASSED [ 5%] 98s tests/test_cli.py::test_add_foreign_key[args2-Automatically guess other_table and other_column] PASSED [ 5%] 98s tests/test_cli.py::test_add_column_foreign_key PASSED [ 5%] 98s tests/test_cli.py::test_suggest_alter_if_column_missing PASSED [ 5%] 98s tests/test_cli.py::test_index_foreign_keys PASSED [ 5%] 98s tests/test_cli.py::test_enable_fts PASSED [ 6%] 98s tests/test_cli.py::test_enable_fts_replace PASSED [ 6%] 98s tests/test_cli.py::test_enable_fts_with_triggers PASSED [ 6%] 98s tests/test_cli.py::test_populate_fts PASSED [ 6%] 98s tests/test_cli.py::test_disable_fts PASSED [ 6%] 98s tests/test_cli.py::test_vacuum PASSED [ 6%] 98s tests/test_cli.py::test_dump PASSED [ 6%] 99s tests/test_cli.py::test_optimize[tables0] PASSED [ 6%] 99s tests/test_cli.py::test_optimize[tables1] PASSED [ 6%] 100s tests/test_cli.py::test_optimize[tables2] PASSED [ 6%] 100s tests/test_cli.py::test_rebuild_fts_fixes_docsize_error PASSED [ 7%] 100s tests/test_cli.py::test_query_csv[--csv-id,name,age\n1,Cleo,4\n2,Pancakes,2\n] PASSED [ 7%] 100s tests/test_cli.py::test_query_csv[--tsv-id\tname\tage\n1\tCleo\t4\n2\tPancakes\t2\n] PASSED [ 7%] 100s tests/test_cli.py::test_query_json[select id, name, age from dogs-args0-[{"id": 1, "name": "Cleo", "age": 4},\n {"id": 2, "name": "Pancakes", "age": 2}]] PASSED [ 7%] 100s tests/test_cli.py::test_query_json[select id, name, age from dogs-args1-{"id": 1, "name": "Cleo", "age": 4}\n{"id": 2, "name": "Pancakes", "age": 2}] PASSED [ 7%] 100s tests/test_cli.py::test_query_json[select id, name, age from dogs-args2-[[1, "Cleo", 4],\n [2, "Pancakes", 2]]] PASSED [ 7%] 100s tests/test_cli.py::test_query_json[select id, name, age from dogs-args3-[1, "Cleo", 4]\n[2, "Pancakes", 2]] PASSED [ 7%] 100s tests/test_cli.py::test_query_json[select id, name, age from dogs where id = 1-args4-[{"id": 1, "name": "Cleo", "age": 4}]] PASSED [ 7%] 100s tests/test_cli.py::test_query_json[select id, name, age from dogs where id = 1-args5-{"id": 1, "name": "Cleo", "age": 4}] PASSED [ 7%] 100s tests/test_cli.py::test_query_json[select id, name, age from dogs where id = 1-args6-[[1, "Cleo", 4]]] PASSED [ 7%] 100s tests/test_cli.py::test_query_json[select id, name, age from dogs where id = 1-args7-[1, "Cleo", 4]] PASSED [ 8%] 100s tests/test_cli.py::test_query_json[select id, dog(age) from dogs-args8-[{"id": 1, "dog(age)": 28},\n {"id": 2, "dog(age)": 14}]] PASSED [ 8%] 100s tests/test_cli.py::test_query_json_empty PASSED [ 8%] 100s tests/test_cli.py::test_query_invalid_function PASSED [ 8%] 100s tests/test_cli.py::test_query_complex_function PASSED [ 8%] 100s tests/test_cli.py::test_hidden_functions_are_hidden PASSED [ 8%] 100s tests/test_cli.py::test_query_json_binary PASSED [ 8%] 100s tests/test_cli.py::test_query_params[select 1 + 1 as out-params0-2] PASSED [ 8%] 100s tests/test_cli.py::test_query_params[select 1 + :p as out-params1-3] PASSED [ 8%] 100s tests/test_cli.py::test_query_params[select :hello as out-params2-This"has'many'quote"s] PASSED [ 8%] 100s tests/test_cli.py::test_query_json_with_json_cols PASSED [ 9%] 100s tests/test_cli.py::test_query_raw[\x00\x0fbinary-True] PASSED [ 9%] 100s tests/test_cli.py::test_query_raw[this is text-False] PASSED [ 9%] 100s tests/test_cli.py::test_query_raw[1-False] PASSED [ 9%] 100s tests/test_cli.py::test_query_raw[1.5-False] PASSED [ 9%] 100s tests/test_cli.py::test_query_raw_lines[\x00\x0fbinary-True] PASSED [ 9%] 100s tests/test_cli.py::test_query_raw_lines[this is text-False] PASSED [ 9%] 100s tests/test_cli.py::test_query_raw_lines[1-False] PASSED [ 9%] 100s tests/test_cli.py::test_query_raw_lines[1.5-False] PASSED [ 9%] 100s tests/test_cli.py::test_query_memory_does_not_create_file PASSED [ 9%] 100s tests/test_cli.py::test_rows[args0-[{"id": 1, "name": "Cleo", "age": 4},\n {"id": 2, "name": "Pancakes", "age": 2}]] PASSED [ 10%] 100s tests/test_cli.py::test_rows[args1-{"id": 1, "name": "Cleo", "age": 4}\n{"id": 2, "name": "Pancakes", "age": 2}] PASSED [ 10%] 100s tests/test_cli.py::test_rows[args2-[[1, "Cleo", 4],\n [2, "Pancakes", 2]]] PASSED [ 10%] 101s tests/test_cli.py::test_rows[args3-[1, "Cleo", 4]\n[2, "Pancakes", 2]] PASSED [ 10%] 101s tests/test_cli.py::test_rows[args4-{"age": 4, "name": "Cleo"}\n{"age": 2, "name": "Pancakes"}] PASSED [ 10%] 101s tests/test_cli.py::test_rows[args5-[{"name": "Cleo"}]] PASSED [ 10%] 101s tests/test_cli.py::test_rows[args6-[{"name": "Pancakes"}]] PASSED [ 10%] 101s tests/test_cli.py::test_rows[args7-[{"name": "Cleo"}]] PASSED [ 10%] 101s tests/test_cli.py::test_rows[args8-[{"name": "Cleo"}]] PASSED [ 10%] 101s tests/test_cli.py::test_rows[args9-[{"name": "Cleo"}]] PASSED [ 10%] 101s tests/test_cli.py::test_rows[args10-[{"id": 2}]] PASSED [ 11%] 101s tests/test_cli.py::test_rows[args11-[{"id": 1}]] PASSED [ 11%] 101s tests/test_cli.py::test_upsert PASSED [ 11%] 101s tests/test_cli.py::test_upsert_pk_required PASSED [ 11%] 101s tests/test_cli.py::test_upsert_analyze PASSED [ 11%] 101s tests/test_cli.py::test_upsert_flatten PASSED [ 11%] 101s tests/test_cli.py::test_upsert_alter PASSED [ 11%] 101s tests/test_cli.py::test_create_table[args0-CREATE TABLE [t] (\n [name] TEXT,\n [age] INTEGER\n)] PASSED [ 11%] 101s tests/test_cli.py::test_create_table[args1-CREATE TABLE [t] (\n [id] INTEGER PRIMARY KEY,\n [name] TEXT,\n [age] INTEGER,\n [weight] FLOAT,\n [thumbnail] BLOB\n)] PASSED [ 11%] 101s tests/test_cli.py::test_create_table[args2-CREATE TABLE [t] (\n [name] TEXT NOT NULL\n)] PASSED [ 11%] 101s tests/test_cli.py::test_create_table[args3-CREATE TABLE [t] (\n [age] INTEGER DEFAULT '3'\n)] PASSED [ 12%] 101s tests/test_cli.py::test_create_table_foreign_key PASSED [ 12%] 101s tests/test_cli.py::test_create_table_error_if_table_exists PASSED [ 12%] 101s tests/test_cli.py::test_create_table_ignore PASSED [ 12%] 101s tests/test_cli.py::test_create_table_replace PASSED [ 12%] 101s tests/test_cli.py::test_create_view PASSED [ 12%] 101s tests/test_cli.py::test_create_view_error_if_view_exists PASSED [ 12%] 101s tests/test_cli.py::test_create_view_ignore PASSED [ 12%] 101s tests/test_cli.py::test_create_view_replace PASSED [ 12%] 101s tests/test_cli.py::test_drop_table PASSED [ 12%] 101s tests/test_cli.py::test_drop_table_error PASSED [ 13%] 101s tests/test_cli.py::test_drop_view PASSED [ 13%] 101s tests/test_cli.py::test_drop_view_error PASSED [ 13%] 101s tests/test_cli.py::test_enable_wal PASSED [ 13%] 101s tests/test_cli.py::test_disable_wal PASSED [ 13%] 101s tests/test_cli.py::test_query_update[args0-[{"rows_affected": 1}]] PASSED [ 13%] 101s tests/test_cli.py::test_query_update[args1-rows_affected\n---------------\n 1] PASSED [ 13%] 101s tests/test_cli.py::test_add_foreign_keys PASSED [ 13%] 101s tests/test_cli.py::test_transform[args0-CREATE TABLE "dogs" (\n [id] INTEGER PRIMARY KEY,\n [age] INTEGER NOT NULL DEFAULT '1',\n [name] TEXT\n)] PASSED [ 13%] 101s tests/test_cli.py::test_transform[args1-CREATE TABLE "dogs" (\n [id] INTEGER PRIMARY KEY,\n [age] TEXT NOT NULL DEFAULT '1',\n [name] TEXT\n)] PASSED [ 13%] 101s tests/test_cli.py::test_transform[args2-CREATE TABLE "dogs" (\n [id] INTEGER PRIMARY KEY,\n [name] TEXT\n)] PASSED [ 14%] 101s tests/test_cli.py::test_transform[args3-CREATE TABLE "dogs" (\n [pk] INTEGER PRIMARY KEY,\n [age2] INTEGER NOT NULL DEFAULT '1',\n [name] TEXT\n)] PASSED [ 14%] 101s tests/test_cli.py::test_transform[args4-CREATE TABLE "dogs" (\n [id] INTEGER PRIMARY KEY,\n [age] INTEGER NOT NULL DEFAULT '1',\n [name] TEXT NOT NULL\n)] PASSED [ 14%] 101s tests/test_cli.py::test_transform[args5-CREATE TABLE "dogs" (\n [id] INTEGER PRIMARY KEY,\n [age] INTEGER DEFAULT '1',\n [name] TEXT\n)] PASSED [ 14%] 101s tests/test_cli.py::test_transform[args6-CREATE TABLE "dogs" (\n [id] INTEGER,\n [age] INTEGER NOT NULL DEFAULT '1',\n [name] TEXT PRIMARY KEY\n)] PASSED [ 14%] 101s tests/test_cli.py::test_transform[args7-CREATE TABLE "dogs" (\n [id] INTEGER,\n [age] INTEGER NOT NULL DEFAULT '1',\n [name] TEXT\n)] PASSED [ 14%] 101s tests/test_cli.py::test_transform[args8-CREATE TABLE "dogs" (\n [id] INTEGER PRIMARY KEY,\n [age] INTEGER NOT NULL DEFAULT '1',\n [name] TEXT DEFAULT 'Turnip'\n)] PASSED [ 14%] 101s tests/test_cli.py::test_transform[args9-CREATE TABLE "dogs" (\n [id] INTEGER PRIMARY KEY,\n [age] INTEGER NOT NULL,\n [name] TEXT\n)] PASSED [ 14%] 101s tests/test_cli.py::test_transform[args10-CREATE TABLE "dogs" (\n [name] TEXT,\n [age] INTEGER NOT NULL DEFAULT '1',\n [id] INTEGER PRIMARY KEY\n)] PASSED [ 14%] 101s tests/test_cli.py::test_transform_add_or_drop_foreign_key[extra_args0-CREATE TABLE "places" (\n [id] INTEGER PRIMARY KEY,\n [name] TEXT,\n [country] INTEGER,\n [city] INTEGER REFERENCES [city]([id]),\n [continent] INTEGER\n)] PASSED [ 14%] 101s tests/test_cli.py::test_transform_add_or_drop_foreign_key[extra_args1-CREATE TABLE "places" (\n [id] INTEGER PRIMARY KEY,\n [name] TEXT,\n [country] INTEGER,\n [city] INTEGER,\n [continent] INTEGER\n)] PASSED [ 15%] 101s tests/test_cli.py::test_transform_add_or_drop_foreign_key[extra_args2-CREATE TABLE "places" (\n [id] INTEGER PRIMARY KEY,\n [name] TEXT,\n [country] INTEGER REFERENCES [country]([id]),\n [city] INTEGER REFERENCES [city]([id]),\n [continent] INTEGER REFERENCES [continent]([id])\n)] PASSED [ 15%] 101s tests/test_cli.py::test_extract[args0-CREATE TABLE "trees" (\n [id] INTEGER PRIMARY KEY,\n [address] TEXT,\n [species_id] INTEGER REFERENCES [species]([id])\n)-CREATE TABLE [species] (\n [id] INTEGER PRIMARY KEY,\n [species] TEXT\n)] PASSED [ 15%] 101s tests/test_cli.py::test_extract[args1-CREATE TABLE "trees" (\n [id] INTEGER PRIMARY KEY,\n [address] TEXT,\n [custom_table_id] INTEGER REFERENCES [custom_table]([id])\n)-CREATE TABLE [custom_table] (\n [id] INTEGER PRIMARY KEY,\n [species] TEXT\n)] PASSED [ 15%] 101s tests/test_cli.py::test_extract[args2-CREATE TABLE "trees" (\n [id] INTEGER PRIMARY KEY,\n [address] TEXT,\n [custom_fk] INTEGER REFERENCES [species]([id])\n)-CREATE TABLE [species] (\n [id] INTEGER PRIMARY KEY,\n [species] TEXT\n)] PASSED [ 15%] 101s tests/test_cli.py::test_extract[args3-CREATE TABLE "trees" (\n [id] INTEGER PRIMARY KEY,\n [address] TEXT,\n [species_id] INTEGER REFERENCES [species]([id])\n)-CREATE TABLE [species] (\n [id] INTEGER PRIMARY KEY,\n [species] TEXT\n)] PASSED [ 15%] 101s tests/test_cli.py::test_insert_encoding PASSED [ 15%] 101s tests/test_cli.py::test_search[None-[{"rowid": 2, "id": 2, "title": "Title the second"}]\n-FTS4] PASSED [ 15%] 101s tests/test_cli.py::test_search[None-[{"rowid": 2, "id": 2, "title": "Title the second"}]\n-FTS5] PASSED [ 15%] 101s tests/test_cli.py::test_search[--csv-rowid,id,title\n2,2,Title the second\n-FTS4] PASSED [ 15%] 101s tests/test_cli.py::test_search[--csv-rowid,id,title\n2,2,Title the second\n-FTS5] PASSED [ 16%] 101s tests/test_cli.py::test_search_quote PASSED [ 16%] 101s tests/test_cli.py::test_indexes PASSED [ 16%] 101s tests/test_cli.py::test_triggers[extra_args0-[{"name": "blah", "table": "articles", "sql": "CREATE TRIGGER blah AFTER INSERT ON articles\\nBEGIN\\n UPDATE counter SET count = count + 1;\\nEND"}]\n] PASSED [ 16%] 101s tests/test_cli.py::test_triggers[extra_args1-[{"name": "blah", "table": "articles", "sql": "CREATE TRIGGER blah AFTER INSERT ON articles\\nBEGIN\\n UPDATE counter SET count = count + 1;\\nEND"}]\n] PASSED [ 16%] 101s tests/test_cli.py::test_triggers[extra_args2-[]\n] PASSED [ 16%] 101s tests/test_cli.py::test_schema[options0-CREATE TABLE [dogs] (\n [id] INTEGER,\n [name] TEXT\n);\nCREATE TABLE [chickens] (\n [id] INTEGER,\n [name] TEXT,\n [breed] TEXT\n);\nCREATE INDEX [idx_chickens_breed]\n ON [chickens] ([breed]);\n] PASSED [ 16%] 101s tests/test_cli.py::test_schema[options1-CREATE TABLE [dogs] (\n [id] INTEGER,\n [name] TEXT\n)\n] PASSED [ 16%] 101s tests/test_cli.py::test_schema[options2-CREATE TABLE [chickens] (\n [id] INTEGER,\n [name] TEXT,\n [breed] TEXT\n)\nCREATE TABLE [dogs] (\n [id] INTEGER,\n [name] TEXT\n)\n] PASSED [ 16%] 101s tests/test_cli.py::test_long_csv_column_value PASSED [ 16%] 101s tests/test_cli.py::test_import_no_headers[args0-False] PASSED [ 17%] 101s tests/test_cli.py::test_import_no_headers[args1-False] PASSED [ 17%] 101s tests/test_cli.py::test_import_no_headers[args2-True] PASSED [ 17%] 101s tests/test_cli.py::test_attach PASSED [ 17%] 101s tests/test_cli.py::test_csv_insert_bom PASSED [ 17%] 101s tests/test_cli.py::test_insert_detect_types[None] PASSED [ 17%] 101s tests/test_cli.py::test_insert_detect_types[-d] PASSED [ 17%] 101s tests/test_cli.py::test_insert_detect_types[--detect-types] PASSED [ 17%] 101s tests/test_cli.py::test_upsert_detect_types[-d] PASSED [ 17%] 101s tests/test_cli.py::test_upsert_detect_types[--detect-types] PASSED [ 17%] 101s tests/test_cli.py::test_integer_overflow_error PASSED [ 18%] 101s tests/test_cli.py::test_python_dash_m PASSED [ 18%] 101s tests/test_cli.py::test_create_database[False] PASSED [ 18%] 101s tests/test_cli.py::test_create_database[True] PASSED [ 18%] 101s tests/test_cli.py::test_analyze[options0-expected0] PASSED [ 18%] 101s tests/test_cli.py::test_analyze[options1-expected1] PASSED [ 18%] 101s tests/test_cli.py::test_analyze[options2-expected2] PASSED [ 18%] 101s tests/test_cli.py::test_rename_table PASSED [ 18%] 101s tests/test_cli.py::test_duplicate_table PASSED [ 18%] 101s tests/test_cli.py::test_load_extension[None-should_pass0-should_fail0] SKIPPED [ 18%] 101s tests/test_cli.py::test_load_extension[sqlite3_ext_b_init-b-should_fail1] SKIPPED [ 19%] 101s tests/test_cli.py::test_load_extension[sqlite3_ext_c_init-c-should_fail2] SKIPPED [ 19%] 101s tests/test_cli.py::test_create_table_strict[False] PASSED [ 19%] 101s tests/test_cli.py::test_create_table_strict[True] PASSED [ 19%] 101s tests/test_cli.py::test_insert_upsert_strict[False-insert] PASSED [ 19%] 101s tests/test_cli.py::test_insert_upsert_strict[False-upsert] PASSED [ 19%] 101s tests/test_cli.py::test_insert_upsert_strict[True-insert] PASSED [ 19%] 101s tests/test_cli.py::test_insert_upsert_strict[True-upsert] PASSED [ 19%] 101s tests/test_cli_bulk.py::test_cli_bulk PASSED [ 19%] 103s tests/test_cli_bulk.py::test_cli_bulk_batch_size PASSED [ 19%] 103s tests/test_cli_bulk.py::test_cli_bulk_error PASSED [ 20%] 103s tests/test_cli_convert.py::test_convert_code[return value.replace('October', 'Spooktober')] PASSED [ 20%] 103s tests/test_cli_convert.py::test_convert_code[value.replace('October', 'Spooktober')] PASSED [ 20%] 103s tests/test_cli_convert.py::test_convert_code[v = value.replace('October', 'Spooktober')\nreturn v] PASSED [ 20%] 103s tests/test_cli_convert.py::test_convert_code[def convert(value): return value.replace('October', 'Spooktober')] PASSED [ 20%] 103s tests/test_cli_convert.py::test_convert_code[import re\n\ndef convert(value): return value.replace('October', 'Spooktober')] PASSED [ 20%] 103s tests/test_cli_convert.py::test_convert_code_errors[def foo(value)] PASSED [ 20%] 103s tests/test_cli_convert.py::test_convert_code_errors[$] PASSED [ 20%] 103s tests/test_cli_convert.py::test_convert_import PASSED [ 20%] 103s tests/test_cli_convert.py::test_convert_import_nested PASSED [ 20%] 103s tests/test_cli_convert.py::test_convert_dryrun PASSED [ 21%] 103s tests/test_cli_convert.py::test_convert_multi_dryrun PASSED [ 21%] 103s tests/test_cli_convert.py::test_convert_output_column[True] PASSED [ 21%] 103s tests/test_cli_convert.py::test_convert_output_column[False] PASSED [ 21%] 103s tests/test_cli_convert.py::test_convert_output_column_output_type[text-expected0] PASSED [ 21%] 103s tests/test_cli_convert.py::test_convert_output_column_output_type[float-expected1] PASSED [ 21%] 103s tests/test_cli_convert.py::test_convert_output_column_output_type[integer-expected2] PASSED [ 21%] 103s tests/test_cli_convert.py::test_convert_output_column_output_type[None-expected3] PASSED [ 21%] 103s tests/test_cli_convert.py::test_convert_output_error[options0-Cannot use --output with more than one column] PASSED [ 21%] 103s tests/test_cli_convert.py::test_convert_output_error[options1-Error: Invalid value for '--output-type'] PASSED [ 21%] 103s tests/test_cli_convert.py::test_convert_output_error[options2-Missing argument 'COLUMNS...'] PASSED [ 22%] 103s tests/test_cli_convert.py::test_convert_multi[True] PASSED [ 22%] 103s tests/test_cli_convert.py::test_convert_multi[False] PASSED [ 22%] 103s tests/test_cli_convert.py::test_convert_multi_complex_column_types PASSED [ 22%] 103s tests/test_cli_convert.py::test_recipe_jsonsplit[None] PASSED [ 22%] 103s tests/test_cli_convert.py::test_recipe_jsonsplit[;] PASSED [ 22%] 103s tests/test_cli_convert.py::test_recipe_jsonsplit[-] PASSED [ 22%] 103s tests/test_cli_convert.py::test_recipe_jsonsplit_type[None-expected_array0] PASSED [ 22%] 103s tests/test_cli_convert.py::test_recipe_jsonsplit_type[float-expected_array1] PASSED [ 22%] 104s tests/test_cli_convert.py::test_recipe_jsonsplit_type[int-expected_array2] PASSED [ 22%] 104s tests/test_cli_convert.py::test_recipe_jsonsplit_output[True] PASSED [ 23%] 104s tests/test_cli_convert.py::test_recipe_jsonsplit_output[False] PASSED [ 23%] 104s tests/test_cli_convert.py::test_cannot_use_drop_without_multi_or_output PASSED [ 23%] 104s tests/test_cli_convert.py::test_cannot_use_multi_with_more_than_one_column PASSED [ 23%] 104s tests/test_cli_convert.py::test_multi_with_bad_function PASSED [ 23%] 104s tests/test_cli_convert.py::test_convert_where PASSED [ 23%] 104s tests/test_cli_convert.py::test_convert_where_multi PASSED [ 23%] 104s tests/test_cli_convert.py::test_convert_code_standard_input PASSED [ 23%] 104s tests/test_cli_convert.py::test_convert_hyphen_workaround PASSED [ 23%] 104s tests/test_cli_convert.py::test_convert_initialization_pattern PASSED [ 23%] 104s tests/test_cli_convert.py::test_convert_no_skip_false[True-1] PASSED [ 24%] 104s tests/test_cli_convert.py::test_convert_no_skip_false[False-0] PASSED [ 24%] 104s tests/test_cli_insert.py::test_insert_simple PASSED [ 24%] 104s tests/test_cli_insert.py::test_insert_from_stdin PASSED [ 24%] 104s tests/test_cli_insert.py::test_insert_invalid_json_error PASSED [ 24%] 104s tests/test_cli_insert.py::test_insert_json_flatten PASSED [ 24%] 104s tests/test_cli_insert.py::test_insert_json_flatten_nl PASSED [ 24%] 104s tests/test_cli_insert.py::test_insert_with_primary_key PASSED [ 24%] 104s tests/test_cli_insert.py::test_insert_multiple_with_primary_key PASSED [ 24%] 104s tests/test_cli_insert.py::test_insert_multiple_with_compound_primary_key PASSED [ 24%] 104s tests/test_cli_insert.py::test_insert_not_null_default PASSED [ 25%] 104s tests/test_cli_insert.py::test_insert_binary_base64 PASSED [ 25%] 104s tests/test_cli_insert.py::test_insert_newline_delimited PASSED [ 25%] 104s tests/test_cli_insert.py::test_insert_ignore PASSED [ 25%] 104s tests/test_cli_insert.py::test_insert_csv_tsv[foo\tbar\tbaz\n1\t2\tcat,dog-options0] PASSED [ 25%] 104s tests/test_cli_insert.py::test_insert_csv_tsv[foo,bar,baz\n1,2,"cat,dog"-options1] PASSED [ 25%] 104s tests/test_cli_insert.py::test_insert_csv_tsv[foo;bar;baz\n1;2;"cat,dog"-options2] PASSED [ 25%] 104s tests/test_cli_insert.py::test_insert_csv_tsv[foo;bar;baz\n1;2;"cat,dog"-options3] PASSED [ 25%] 104s tests/test_cli_insert.py::test_insert_csv_tsv[foo,bar,baz\n1,2,|cat,dog|-options4] PASSED [ 25%] 104s tests/test_cli_insert.py::test_insert_csv_tsv[foo,bar,baz\n1,2,|cat,dog|-options5] PASSED [ 25%] 104s tests/test_cli_insert.py::test_insert_csv_empty_null[True] PASSED [ 26%] 104s tests/test_cli_insert.py::test_insert_csv_empty_null[False] PASSED [ 26%] 104s tests/test_cli_insert.py::test_insert_stop_after[[{"name": "One"}, {"name": "Two"}, {"name": "Three"}, {"name": "Four"}]-args0] PASSED [ 26%] 104s tests/test_cli_insert.py::test_insert_stop_after[name\nOne\nTwo\nThree\nFour\n-args1] PASSED [ 26%] 104s tests/test_cli_insert.py::test_only_allow_one_of_nl_tsv_csv[options0] PASSED [ 26%] 104s tests/test_cli_insert.py::test_only_allow_one_of_nl_tsv_csv[options1] PASSED [ 26%] 104s tests/test_cli_insert.py::test_only_allow_one_of_nl_tsv_csv[options2] PASSED [ 26%] 104s tests/test_cli_insert.py::test_only_allow_one_of_nl_tsv_csv[options3] PASSED [ 26%] 104s tests/test_cli_insert.py::test_insert_replace PASSED [ 26%] 104s tests/test_cli_insert.py::test_insert_truncate PASSED [ 26%] 104s tests/test_cli_insert.py::test_insert_alter PASSED [ 27%] 104s tests/test_cli_insert.py::test_insert_analyze PASSED [ 27%] 104s tests/test_cli_insert.py::test_insert_lines PASSED [ 27%] 104s tests/test_cli_insert.py::test_insert_text PASSED [ 27%] 104s tests/test_cli_insert.py::test_insert_convert_json_csv_jsonnl[options0-[{"id": "1", "name": "Bob"}, {"id": "2", "name": "Cat"}]] PASSED [ 27%] 104s tests/test_cli_insert.py::test_insert_convert_json_csv_jsonnl[options1-id,name\n1,Bob\n2,Cat] PASSED [ 27%] 104s tests/test_cli_insert.py::test_insert_convert_json_csv_jsonnl[options2-{"id": "1", "name": "Bob"}\n{"id": "2", "name": "Cat"}] PASSED [ 27%] 104s tests/test_cli_insert.py::test_insert_convert_text PASSED [ 27%] 104s tests/test_cli_insert.py::test_insert_convert_text_returning_iterator PASSED [ 27%] 104s tests/test_cli_insert.py::test_insert_convert_lines PASSED [ 27%] 104s tests/test_cli_insert.py::test_insert_convert_row_modifying_in_place PASSED [ 28%] 104s tests/test_cli_insert.py::test_insert_convert_error_messages[options0-Error: --convert must return dict or iterator\n] PASSED [ 28%] 104s tests/test_cli_insert.py::test_insert_convert_error_messages[options1-Error: Rows must all be dictionaries, got: 1\n] PASSED [ 28%] 104s tests/test_cli_insert.py::test_insert_streaming_batch_size_1 PASSED [ 28%] 104s tests/test_cli_memory.py::test_memory_basic PASSED [ 28%] 104s tests/test_cli_memory.py::test_memory_csv[True-test] PASSED [ 28%] 104s tests/test_cli_memory.py::test_memory_csv[True-t] PASSED [ 28%] 104s tests/test_cli_memory.py::test_memory_csv[True-t1] PASSED [ 28%] 104s tests/test_cli_memory.py::test_memory_csv[False-test] PASSED [ 28%] 104s tests/test_cli_memory.py::test_memory_csv[False-t] PASSED [ 28%] 104s tests/test_cli_memory.py::test_memory_csv[False-t1] PASSED [ 29%] 104s tests/test_cli_memory.py::test_memory_tsv[True] PASSED [ 29%] 104s tests/test_cli_memory.py::test_memory_tsv[False] PASSED [ 29%] 104s tests/test_cli_memory.py::test_memory_json[True] PASSED [ 29%] 104s tests/test_cli_memory.py::test_memory_json[False] PASSED [ 29%] 104s tests/test_cli_memory.py::test_memory_json_nl[True] PASSED [ 29%] 104s tests/test_cli_memory.py::test_memory_json_nl[False] PASSED [ 29%] 104s tests/test_cli_memory.py::test_memory_csv_encoding[True] PASSED [ 29%] 104s tests/test_cli_memory.py::test_memory_csv_encoding[False] PASSED [ 29%] 104s tests/test_cli_memory.py::test_memory_dump[extra_args0] PASSED [ 29%] 104s tests/test_cli_memory.py::test_memory_dump[extra_args1] PASSED [ 30%] 104s tests/test_cli_memory.py::test_memory_schema[extra_args0] PASSED [ 30%] 104s tests/test_cli_memory.py::test_memory_schema[extra_args1] PASSED [ 30%] 104s tests/test_cli_memory.py::test_memory_save[extra_args0] PASSED [ 30%] 104s tests/test_cli_memory.py::test_memory_save[extra_args1] PASSED [ 30%] 104s tests/test_cli_memory.py::test_memory_no_detect_types[-n] PASSED [ 30%] 104s tests/test_cli_memory.py::test_memory_no_detect_types[--no-detect-types] PASSED [ 30%] 104s tests/test_cli_memory.py::test_memory_flatten PASSED [ 30%] 104s tests/test_cli_memory.py::test_memory_analyze PASSED [ 30%] 104s tests/test_cli_memory.py::test_memory_two_files_with_same_stem PASSED [ 30%] 104s tests/test_cli_memory.py::test_memory_functions PASSED [ 31%] 104s tests/test_column_affinity.py::test_column_affinity[INT-int] PASSED [ 31%] 104s tests/test_column_affinity.py::test_column_affinity[INTEGER-int] PASSED [ 31%] 104s tests/test_column_affinity.py::test_column_affinity[TINYINT-int] PASSED [ 31%] 104s tests/test_column_affinity.py::test_column_affinity[SMALLINT-int] PASSED [ 31%] 104s tests/test_column_affinity.py::test_column_affinity[MEDIUMINT-int] PASSED [ 31%] 104s tests/test_column_affinity.py::test_column_affinity[BIGINT-int] PASSED [ 31%] 104s tests/test_column_affinity.py::test_column_affinity[UNSIGNED BIG INT-int] PASSED [ 31%] 104s tests/test_column_affinity.py::test_column_affinity[INT2-int] PASSED [ 31%] 104s tests/test_column_affinity.py::test_column_affinity[INT8-int] PASSED [ 31%] 104s tests/test_column_affinity.py::test_column_affinity[CHARACTER(20)-str] PASSED [ 32%] 104s tests/test_column_affinity.py::test_column_affinity[VARCHAR(255)-str] PASSED [ 32%] 104s tests/test_column_affinity.py::test_column_affinity[VARYING CHARACTER(255)-str] PASSED [ 32%] 104s tests/test_column_affinity.py::test_column_affinity[NCHAR(55)-str] PASSED [ 32%] 104s tests/test_column_affinity.py::test_column_affinity[NATIVE CHARACTER(70)-str] PASSED [ 32%] 104s tests/test_column_affinity.py::test_column_affinity[NVARCHAR(100)-str] PASSED [ 32%] 104s tests/test_column_affinity.py::test_column_affinity[TEXT-str] PASSED [ 32%] 104s tests/test_column_affinity.py::test_column_affinity[CLOB-str] PASSED [ 32%] 104s tests/test_column_affinity.py::test_column_affinity[BLOB-bytes] PASSED [ 32%] 104s tests/test_column_affinity.py::test_column_affinity[REAL-float] PASSED [ 32%] 104s tests/test_column_affinity.py::test_column_affinity[DOUBLE-float] PASSED [ 33%] 104s tests/test_column_affinity.py::test_column_affinity[DOUBLE PRECISION-float] PASSED [ 33%] 104s tests/test_column_affinity.py::test_column_affinity[FLOAT-float] PASSED [ 33%] 104s tests/test_column_affinity.py::test_column_affinity[NUMERIC-float] PASSED [ 33%] 104s tests/test_column_affinity.py::test_column_affinity[DECIMAL(10,5)-float] PASSED [ 33%] 104s tests/test_column_affinity.py::test_column_affinity[BOOLEAN-float] PASSED [ 33%] 104s tests/test_column_affinity.py::test_column_affinity[DATE-float] PASSED [ 33%] 104s tests/test_column_affinity.py::test_column_affinity[DATETIME-float] PASSED [ 33%] 104s tests/test_column_affinity.py::test_columns_dict[INT-int] PASSED [ 33%] 104s tests/test_column_affinity.py::test_columns_dict[INTEGER-int] PASSED [ 34%] 104s tests/test_column_affinity.py::test_columns_dict[TINYINT-int] PASSED [ 34%] 104s tests/test_column_affinity.py::test_columns_dict[SMALLINT-int] PASSED [ 34%] 104s tests/test_column_affinity.py::test_columns_dict[MEDIUMINT-int] PASSED [ 34%] 104s tests/test_column_affinity.py::test_columns_dict[BIGINT-int] PASSED [ 34%] 104s tests/test_column_affinity.py::test_columns_dict[UNSIGNED BIG INT-int] PASSED [ 34%] 104s tests/test_column_affinity.py::test_columns_dict[INT2-int] PASSED [ 34%] 104s tests/test_column_affinity.py::test_columns_dict[INT8-int] PASSED [ 34%] 104s tests/test_column_affinity.py::test_columns_dict[CHARACTER(20)-str] PASSED [ 34%] 104s tests/test_column_affinity.py::test_columns_dict[VARCHAR(255)-str] PASSED [ 34%] 104s tests/test_column_affinity.py::test_columns_dict[VARYING CHARACTER(255)-str] PASSED [ 35%] 104s tests/test_column_affinity.py::test_columns_dict[NCHAR(55)-str] PASSED [ 35%] 104s tests/test_column_affinity.py::test_columns_dict[NATIVE CHARACTER(70)-str] PASSED [ 35%] 104s tests/test_column_affinity.py::test_columns_dict[NVARCHAR(100)-str] PASSED [ 35%] 104s tests/test_column_affinity.py::test_columns_dict[TEXT-str] PASSED [ 35%] 104s tests/test_column_affinity.py::test_columns_dict[CLOB-str] PASSED [ 35%] 104s tests/test_column_affinity.py::test_columns_dict[BLOB-bytes] PASSED [ 35%] 104s tests/test_column_affinity.py::test_columns_dict[REAL-float] PASSED [ 35%] 104s tests/test_column_affinity.py::test_columns_dict[DOUBLE-float] PASSED [ 35%] 104s tests/test_column_affinity.py::test_columns_dict[DOUBLE PRECISION-float] PASSED [ 35%] 104s tests/test_column_affinity.py::test_columns_dict[FLOAT-float] PASSED [ 36%] 104s tests/test_column_affinity.py::test_columns_dict[NUMERIC-float] PASSED [ 36%] 104s tests/test_column_affinity.py::test_columns_dict[DECIMAL(10,5)-float] PASSED [ 36%] 104s tests/test_column_affinity.py::test_columns_dict[BOOLEAN-float] PASSED [ 36%] 104s tests/test_column_affinity.py::test_columns_dict[DATE-float] PASSED [ 36%] 104s tests/test_column_affinity.py::test_columns_dict[DATETIME-float] PASSED [ 36%] 104s tests/test_constructor.py::test_recursive_triggers PASSED [ 36%] 104s tests/test_constructor.py::test_recursive_triggers_off PASSED [ 36%] 104s tests/test_constructor.py::test_memory_name PASSED [ 36%] 104s tests/test_constructor.py::test_sqlite_version PASSED [ 36%] 104s tests/test_constructor.py::test_database_close[True] PASSED [ 37%] 104s tests/test_constructor.py::test_database_close[False] PASSED [ 37%] 104s tests/test_conversions.py::test_insert_conversion PASSED [ 37%] 104s tests/test_conversions.py::test_insert_all_conversion PASSED [ 37%] 104s tests/test_conversions.py::test_upsert_conversion PASSED [ 37%] 104s tests/test_conversions.py::test_upsert_all_conversion PASSED [ 37%] 104s tests/test_conversions.py::test_update_conversion PASSED [ 37%] 104s tests/test_conversions.py::test_table_constructor_conversion PASSED [ 37%] 104s tests/test_convert.py::test_convert[title--expected0] PASSED [ 37%] 104s tests/test_convert.py::test_convert[columns1--expected1] PASSED [ 37%] 104s tests/test_convert.py::test_convert[title--expected2] PASSED [ 38%] 104s tests/test_convert.py::test_convert_where[id > 1-None] PASSED [ 38%] 104s tests/test_convert.py::test_convert_where[id > :id-where_args1] PASSED [ 38%] 104s tests/test_convert.py::test_convert_where[id > ?-where_args2] PASSED [ 38%] 104s tests/test_convert.py::test_convert_skip_false PASSED [ 38%] 104s tests/test_convert.py::test_convert_output[False-expected0] PASSED [ 38%] 104s tests/test_convert.py::test_convert_output[True-expected1] PASSED [ 38%] 104s tests/test_convert.py::test_convert_output_multiple_column_error PASSED [ 38%] 104s tests/test_convert.py::test_convert_output_type[int-expected0] PASSED [ 38%] 104s tests/test_convert.py::test_convert_output_type[float-expected1] PASSED [ 38%] 104s tests/test_convert.py::test_convert_multi PASSED [ 39%] 104s tests/test_convert.py::test_convert_multi_where PASSED [ 39%] 104s tests/test_convert.py::test_convert_multi_exception PASSED [ 39%] 104s tests/test_convert.py::test_convert_repeated PASSED [ 39%] 104s tests/test_create.py::test_create_table PASSED [ 39%] 104s tests/test_create.py::test_create_table_compound_primary_key PASSED [ 39%] 104s tests/test_create.py::test_create_table_with_single_primary_key[id] PASSED [ 39%] 104s tests/test_create.py::test_create_table_with_single_primary_key[pk1] PASSED [ 39%] 104s tests/test_create.py::test_create_table_with_invalid_column_characters PASSED [ 39%] 104s tests/test_create.py::test_create_table_with_defaults PASSED [ 39%] 104s tests/test_create.py::test_create_table_with_bad_not_null PASSED [ 40%] 104s tests/test_create.py::test_create_table_with_not_null PASSED [ 40%] 104s tests/test_create.py::test_create_table_from_example[example0-expected_columns0] PASSED [ 40%] 104s tests/test_create.py::test_create_table_from_example[example1-expected_columns1] PASSED [ 40%] 104s tests/test_create.py::test_create_table_from_example[example2-expected_columns2] PASSED [ 40%] 104s tests/test_create.py::test_create_table_from_example[example3-expected_columns3] PASSED [ 40%] 104s tests/test_create.py::test_create_table_from_example[example4-expected_columns4] PASSED [ 40%] 104s tests/test_create.py::test_create_table_from_example[example5-expected_columns5] PASSED [ 40%] 104s tests/test_create.py::test_create_table_from_example[example6-expected_columns6] PASSED [ 40%] 104s tests/test_create.py::test_create_table_from_example[example7-expected_columns7] PASSED [ 40%] 104s tests/test_create.py::test_create_table_from_example_with_compound_primary_keys PASSED [ 41%] 104s tests/test_create.py::test_create_table_with_custom_columns[insert] PASSED [ 41%] 104s tests/test_create.py::test_create_table_with_custom_columns[upsert] PASSED [ 41%] 104s tests/test_create.py::test_create_table_with_custom_columns[insert_all] PASSED [ 41%] 104s tests/test_create.py::test_create_table_with_custom_columns[upsert_all] PASSED [ 41%] 104s tests/test_create.py::test_create_table_column_order[True] PASSED [ 41%] 104s tests/test_create.py::test_create_table_column_order[False] PASSED [ 41%] 104s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[True-foreign_key_specification0-False] PASSED [ 41%] 104s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[True-foreign_key_specification1-False] PASSED [ 41%] 104s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[True-foreign_key_specification2-False] PASSED [ 41%] 104s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[True-foreign_key_specification3-False] PASSED [ 42%] 104s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[True-foreign_key_specification4-NoObviousTable] PASSED [ 42%] 104s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[True-foreign_key_specification5-AssertionError] PASSED [ 42%] 104s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[True-foreign_key_specification6-AlterError] PASSED [ 42%] 104s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[True-foreign_key_specification7-AssertionError] PASSED [ 42%] 104s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[False-foreign_key_specification0-False] PASSED [ 42%] 104s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[False-foreign_key_specification1-False] PASSED [ 42%] 104s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[False-foreign_key_specification2-False] PASSED [ 42%] 104s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[False-foreign_key_specification3-False] PASSED [ 42%] 105s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[False-foreign_key_specification4-NoObviousTable] PASSED [ 42%] 105s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[False-foreign_key_specification5-AssertionError] PASSED [ 43%] 105s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[False-foreign_key_specification6-AlterError] PASSED [ 43%] 105s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[False-foreign_key_specification7-AssertionError] PASSED [ 43%] 105s tests/test_create.py::test_self_referential_foreign_key PASSED [ 43%] 105s tests/test_create.py::test_create_error_if_invalid_foreign_keys PASSED [ 43%] 105s tests/test_create.py::test_create_error_if_invalid_self_referential_foreign_keys PASSED [ 43%] 105s tests/test_create.py::test_add_column[nickname-str-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [nickname] TEXT)] PASSED [ 43%] 105s tests/test_create.py::test_add_column[dob-date-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [dob] TEXT)] PASSED [ 43%] 105s tests/test_create.py::test_add_column[age-int-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [age] INTEGER)] PASSED [ 43%] 105s tests/test_create.py::test_add_column[weight-float-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [weight] FLOAT)] PASSED [ 43%] 105s tests/test_create.py::test_add_column[text-TEXT-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [text] TEXT)] PASSED [ 44%] 105s tests/test_create.py::test_add_column[integer-INTEGER-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [integer] INTEGER)] PASSED [ 44%] 105s tests/test_create.py::test_add_column[float-FLOAT-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [float] FLOAT)] PASSED [ 44%] 105s tests/test_create.py::test_add_column[blob-blob-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [blob] BLOB)] PASSED [ 44%] 105s tests/test_create.py::test_add_column[default_str-None-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [default_str] TEXT)] PASSED [ 44%] 105s tests/test_create.py::test_add_column[nickname-str--CREATE TABLE [dogs] (\n [name] TEXT\n, [nickname] TEXT NOT NULL DEFAULT '')] PASSED [ 44%] 105s tests/test_create.py::test_add_column[nickname-str-dawg's dawg-CREATE TABLE [dogs] (\n [name] TEXT\n, [nickname] TEXT NOT NULL DEFAULT 'dawg''s dawg')] PASSED [ 44%] 105s tests/test_create.py::test_add_foreign_key PASSED [ 44%] 105s tests/test_create.py::test_add_foreign_key_if_column_contains_space PASSED [ 44%] 105s tests/test_create.py::test_add_foreign_key_error_if_column_does_not_exist PASSED [ 44%] 105s tests/test_create.py::test_add_foreign_key_error_if_other_table_does_not_exist PASSED [ 45%] 105s tests/test_create.py::test_add_foreign_key_error_if_already_exists PASSED [ 45%] 105s tests/test_create.py::test_add_foreign_key_no_error_if_exists_and_ignore_true PASSED [ 45%] 105s tests/test_create.py::test_add_foreign_keys PASSED [ 45%] 105s tests/test_create.py::test_add_column_foreign_key PASSED [ 45%] 105s tests/test_create.py::test_add_foreign_key_guess_table PASSED [ 45%] 105s tests/test_create.py::test_index_foreign_keys PASSED [ 45%] 105s tests/test_create.py::test_index_foreign_keys_if_index_name_is_already_used PASSED [ 45%] 105s tests/test_create.py::test_insert_row_alter_table[True-extra_data0-expected_new_columns0] PASSED [ 45%] 105s tests/test_create.py::test_insert_row_alter_table[True-extra_data1-expected_new_columns1] PASSED [ 45%] 105s tests/test_create.py::test_insert_row_alter_table[True-extra_data2-expected_new_columns2] PASSED [ 46%] 105s tests/test_create.py::test_insert_row_alter_table[False-extra_data0-expected_new_columns0] PASSED [ 46%] 105s tests/test_create.py::test_insert_row_alter_table[False-extra_data1-expected_new_columns1] PASSED [ 46%] 105s tests/test_create.py::test_insert_row_alter_table[False-extra_data2-expected_new_columns2] PASSED [ 46%] 105s tests/test_create.py::test_add_missing_columns_case_insensitive PASSED [ 46%] 105s tests/test_create.py::test_insert_replace_rows_alter_table[True] PASSED [ 46%] 105s tests/test_create.py::test_insert_replace_rows_alter_table[False] PASSED [ 46%] 105s tests/test_create.py::test_insert_all_with_extra_columns_in_later_chunks PASSED [ 46%] 105s tests/test_create.py::test_bulk_insert_more_than_999_values PASSED [ 46%] 105s tests/test_create.py::test_error_if_more_than_999_columns[900-False] PASSED [ 46%] 105s tests/test_create.py::test_error_if_more_than_999_columns[999-False] PASSED [ 47%] 105s tests/test_create.py::test_error_if_more_than_999_columns[1000-True] PASSED [ 47%] 105s tests/test_create.py::test_columns_not_in_first_record_should_not_cause_batch_to_be_too_large PASSED [ 47%] 105s tests/test_create.py::test_create_index[columns0-None-expected_index0] PASSED [ 47%] 105s tests/test_create.py::test_create_index[columns1-None-expected_index1] PASSED [ 47%] 105s tests/test_create.py::test_create_index[columns2-age_index-expected_index2] PASSED [ 47%] 105s tests/test_create.py::test_create_index_unique PASSED [ 47%] 105s tests/test_create.py::test_create_index_if_not_exists PASSED [ 47%] 105s tests/test_create.py::test_create_index_desc PASSED [ 47%] 105s tests/test_create.py::test_create_index_find_unique_name PASSED [ 47%] 105s tests/test_create.py::test_create_index_analyze PASSED [ 48%] 105s tests/test_create.py::test_insert_dictionaries_and_lists_as_json[data_structure0] PASSED [ 48%] 105s tests/test_create.py::test_insert_dictionaries_and_lists_as_json[data_structure1] PASSED [ 48%] 105s tests/test_create.py::test_insert_dictionaries_and_lists_as_json[data_structure2] PASSED [ 48%] 105s tests/test_create.py::test_insert_dictionaries_and_lists_as_json[data_structure3] PASSED [ 48%] 105s tests/test_create.py::test_insert_dictionaries_and_lists_as_json[data_structure4] PASSED [ 48%] 105s tests/test_create.py::test_insert_dictionaries_and_lists_as_json[data_structure5] PASSED [ 48%] 105s tests/test_create.py::test_insert_list_nested_unicode PASSED [ 48%] 105s tests/test_create.py::test_insert_uuid PASSED [ 48%] 105s tests/test_create.py::test_insert_memoryview PASSED [ 48%] 105s tests/test_create.py::test_insert_thousands_using_generator PASSED [ 49%] 105s tests/test_create.py::test_insert_thousands_raises_exception_with_extra_columns_after_first_100 PASSED [ 49%] 105s tests/test_create.py::test_insert_thousands_adds_extra_columns_after_first_100_with_alter PASSED [ 49%] 105s tests/test_create.py::test_insert_ignore PASSED [ 49%] 105s tests/test_create.py::test_insert_hash_id PASSED [ 49%] 105s tests/test_create.py::test_insert_hash_id_columns[True] PASSED [ 49%] 105s tests/test_create.py::test_insert_hash_id_columns[False] PASSED [ 49%] 105s tests/test_create.py::test_vacuum PASSED [ 49%] 105s tests/test_create.py::test_works_with_pathlib_path PASSED [ 49%] 105s tests/test_create.py::test_create_table_numpy SKIPPED (pandas and nu...) [ 49%] 105s tests/test_create.py::test_cannot_provide_both_filename_and_memory PASSED [ 50%] 105s tests/test_create.py::test_creates_id_column PASSED [ 50%] 105s tests/test_create.py::test_drop PASSED [ 50%] 105s tests/test_create.py::test_drop_view PASSED [ 50%] 105s tests/test_create.py::test_drop_ignore PASSED [ 50%] 105s tests/test_create.py::test_insert_all_empty_list PASSED [ 50%] 105s tests/test_create.py::test_insert_all_single_column PASSED [ 50%] 105s tests/test_create.py::test_insert_all_analyze[insert_all] PASSED [ 50%] 105s tests/test_create.py::test_insert_all_analyze[upsert_all] PASSED [ 50%] 105s tests/test_create.py::test_create_with_a_null_column PASSED [ 50%] 105s tests/test_create.py::test_create_with_nested_bytes PASSED [ 51%] 105s tests/test_create.py::test_quote[hello-'hello'] PASSED [ 51%] 105s tests/test_create.py::test_quote[hello'there'-'hello''there'''] PASSED [ 51%] 105s tests/test_create.py::test_create_table_sql[columns0-[id] INTEGER] PASSED [ 51%] 105s tests/test_create.py::test_create_table_sql[columns1-[col] TEXT] PASSED [ 51%] 105s tests/test_create.py::test_create_table_sql[columns2-[col] TEXT] PASSED [ 51%] 105s tests/test_create.py::test_create_table_sql[columns3-[col] TEXT] PASSED [ 51%] 105s tests/test_create.py::test_create PASSED [ 51%] 105s tests/test_create.py::test_create_if_not_exists PASSED [ 51%] 105s tests/test_create.py::test_create_if_no_columns PASSED [ 51%] 105s tests/test_create.py::test_create_ignore PASSED [ 52%] 105s tests/test_create.py::test_create_replace PASSED [ 52%] 105s tests/test_create.py::test_create_transform[cols0-kwargs0-CREATE TABLE [demo] (\n [id] INTEGER PRIMARY KEY,\n [name] TEXT\n)-False] PASSED [ 52%] 105s tests/test_create.py::test_create_transform[cols1-kwargs1-CREATE TABLE "demo" (\n [id] INTEGER\n)-True] PASSED [ 52%] 105s tests/test_create.py::test_create_transform[cols2-kwargs2-CREATE TABLE "demo" (\n [id] INTEGER PRIMARY KEY,\n [name] TEXT,\n [age] INTEGER\n)-True] PASSED [ 52%] 105s tests/test_create.py::test_create_transform[cols3-kwargs3-CREATE TABLE "demo" (\n [id] INTEGER PRIMARY KEY,\n [name] BLOB\n)-True] PASSED [ 52%] 105s tests/test_create.py::test_create_transform[cols4-kwargs4-CREATE TABLE "demo" (\n [id] INTEGER,\n [name] TEXT PRIMARY KEY\n)-True] PASSED [ 52%] 105s tests/test_create.py::test_create_transform[cols5-kwargs5-CREATE TABLE "demo" (\n [name] TEXT,\n [id] INTEGER PRIMARY KEY\n)-True] PASSED [ 52%] 105s tests/test_create.py::test_create_transform[cols6-kwargs6-CREATE TABLE [demo] (\n [id] INTEGER PRIMARY KEY,\n [name] TEXT\n)-False] PASSED [ 52%] 105s tests/test_create.py::test_create_transform[cols7-kwargs7-CREATE TABLE "demo" (\n [id] INTEGER PRIMARY KEY,\n [name] TEXT NOT NULL\n)-True] PASSED [ 52%] 105s tests/test_create.py::test_create_transform[cols8-kwargs8-CREATE TABLE "demo" (\n [id] INTEGER PRIMARY KEY DEFAULT 0,\n [name] TEXT DEFAULT 'Bob'\n)-True] PASSED [ 53%] 105s tests/test_create.py::test_rename_table PASSED [ 53%] 105s tests/test_create.py::test_database_strict[False] PASSED [ 53%] 105s tests/test_create.py::test_database_strict[True] PASSED [ 53%] 105s tests/test_create.py::test_database_strict_override[False] PASSED [ 53%] 105s tests/test_create.py::test_database_strict_override[True] PASSED [ 53%] 105s tests/test_create.py::test_insert_upsert_strict[False-insert] PASSED [ 53%] 105s tests/test_create.py::test_insert_upsert_strict[False-upsert] PASSED [ 53%] 105s tests/test_create.py::test_insert_upsert_strict[False-insert_all] PASSED [ 53%] 105s tests/test_create.py::test_insert_upsert_strict[False-upsert_all] PASSED [ 53%] 105s tests/test_create.py::test_insert_upsert_strict[True-insert] PASSED [ 54%] 105s tests/test_create.py::test_insert_upsert_strict[True-upsert] PASSED [ 54%] 105s tests/test_create.py::test_insert_upsert_strict[True-insert_all] PASSED [ 54%] 105s tests/test_create.py::test_insert_upsert_strict[True-upsert_all] PASSED [ 54%] 105s tests/test_create.py::test_create_table_strict[False] PASSED [ 54%] 105s tests/test_create.py::test_create_table_strict[True] PASSED [ 54%] 105s tests/test_create.py::test_create_strict[False] PASSED [ 54%] 105s tests/test_create.py::test_create_strict[True] PASSED [ 54%] 105s tests/test_create_view.py::test_create_view PASSED [ 54%] 105s tests/test_create_view.py::test_create_view_error PASSED [ 54%] 105s tests/test_create_view.py::test_create_view_only_arrow_one_param PASSED [ 55%] 105s tests/test_create_view.py::test_create_view_ignore PASSED [ 55%] 105s tests/test_create_view.py::test_create_view_replace PASSED [ 55%] 105s tests/test_create_view.py::test_create_view_replace_with_same_does_nothing PASSED [ 55%] 105s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT 'foo'-'foo'-'foo'] PASSED [ 55%] 105s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT 'foo)'-'foo)'-'foo)'] PASSED [ 55%] 105s tests/test_default_value.py::test_quote_default_value[INTEGER DEFAULT '1'-'1'-'1'] PASSED [ 55%] 105s tests/test_default_value.py::test_quote_default_value[INTEGER DEFAULT 1-1-'1'] PASSED [ 55%] 105s tests/test_default_value.py::test_quote_default_value[INTEGER DEFAULT (1)-1-'1'] PASSED [ 55%] 105s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW'))-STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')-(STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW'))] PASSED [ 55%] 105s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT CURRENT_TIME-CURRENT_TIME-CURRENT_TIME] PASSED [ 56%] 105s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT CURRENT_DATE-CURRENT_DATE-CURRENT_DATE] PASSED [ 56%] 105s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT CURRENT_TIMESTAMP-CURRENT_TIMESTAMP-CURRENT_TIMESTAMP] PASSED [ 56%] 105s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT current_timestamp-current_timestamp-current_timestamp] PASSED [ 56%] 105s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT (CURRENT_TIMESTAMP)-CURRENT_TIMESTAMP-CURRENT_TIMESTAMP] PASSED [ 56%] 105s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT 'CURRENT_TIMESTAMP'-'CURRENT_TIMESTAMP'-'CURRENT_TIMESTAMP'] PASSED [ 56%] 105s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT "CURRENT_TIMESTAMP"-"CURRENT_TIMESTAMP"-"CURRENT_TIMESTAMP"] PASSED [ 56%] 105s tests/test_delete.py::test_delete_rowid_table PASSED [ 56%] 105s tests/test_delete.py::test_delete_pk_table PASSED [ 56%] 105s tests/test_delete.py::test_delete_where PASSED [ 56%] 105s tests/test_delete.py::test_delete_where_all PASSED [ 57%] 105s tests/test_delete.py::test_delete_where_analyze PASSED [ 57%] 105s tests/test_docs.py::test_commands_are_documented[tables] PASSED [ 57%] 105s tests/test_docs.py::test_commands_are_documented[views] PASSED [ 57%] 105s tests/test_docs.py::test_commands_are_documented[optimize] PASSED [ 57%] 105s tests/test_docs.py::test_commands_are_documented[rebuild-fts] PASSED [ 57%] 105s tests/test_docs.py::test_commands_are_documented[analyze] PASSED [ 57%] 105s tests/test_docs.py::test_commands_are_documented[vacuum] PASSED [ 57%] 105s tests/test_docs.py::test_commands_are_documented[dump] PASSED [ 57%] 105s tests/test_docs.py::test_commands_are_documented[add-column] PASSED [ 57%] 105s tests/test_docs.py::test_commands_are_documented[add-foreign-key] PASSED [ 58%] 105s tests/test_docs.py::test_commands_are_documented[add-foreign-keys] PASSED [ 58%] 105s tests/test_docs.py::test_commands_are_documented[index-foreign-keys] PASSED [ 58%] 105s tests/test_docs.py::test_commands_are_documented[create-index] PASSED [ 58%] 105s tests/test_docs.py::test_commands_are_documented[enable-fts] PASSED [ 58%] 105s tests/test_docs.py::test_commands_are_documented[populate-fts] PASSED [ 58%] 105s tests/test_docs.py::test_commands_are_documented[disable-fts] PASSED [ 58%] 105s tests/test_docs.py::test_commands_are_documented[enable-wal] PASSED [ 58%] 105s tests/test_docs.py::test_commands_are_documented[disable-wal] PASSED [ 58%] 105s tests/test_docs.py::test_commands_are_documented[enable-counts] PASSED [ 58%] 105s tests/test_docs.py::test_commands_are_documented[reset-counts] PASSED [ 59%] 105s tests/test_docs.py::test_commands_are_documented[insert] PASSED [ 59%] 105s tests/test_docs.py::test_commands_are_documented[upsert] PASSED [ 59%] 105s tests/test_docs.py::test_commands_are_documented[bulk] PASSED [ 59%] 105s tests/test_docs.py::test_commands_are_documented[create-database] PASSED [ 59%] 105s tests/test_docs.py::test_commands_are_documented[create-table] PASSED [ 59%] 105s tests/test_docs.py::test_commands_are_documented[duplicate] PASSED [ 59%] 105s tests/test_docs.py::test_commands_are_documented[rename-table] PASSED [ 59%] 105s tests/test_docs.py::test_commands_are_documented[drop-table] PASSED [ 59%] 105s tests/test_docs.py::test_commands_are_documented[create-view] PASSED [ 59%] 105s tests/test_docs.py::test_commands_are_documented[drop-view] PASSED [ 60%] 105s tests/test_docs.py::test_commands_are_documented[query] PASSED [ 60%] 105s tests/test_docs.py::test_commands_are_documented[memory] PASSED [ 60%] 105s tests/test_docs.py::test_commands_are_documented[search] PASSED [ 60%] 105s tests/test_docs.py::test_commands_are_documented[rows] PASSED [ 60%] 105s tests/test_docs.py::test_commands_are_documented[triggers] PASSED [ 60%] 105s tests/test_docs.py::test_commands_are_documented[indexes] PASSED [ 60%] 105s tests/test_docs.py::test_commands_are_documented[schema] PASSED [ 60%] 105s tests/test_docs.py::test_commands_are_documented[transform] PASSED [ 60%] 105s tests/test_docs.py::test_commands_are_documented[extract] PASSED [ 60%] 105s tests/test_docs.py::test_commands_are_documented[insert-files] PASSED [ 61%] 105s tests/test_docs.py::test_commands_are_documented[analyze-tables] PASSED [ 61%] 105s tests/test_docs.py::test_commands_are_documented[install] PASSED [ 61%] 105s tests/test_docs.py::test_commands_are_documented[uninstall] PASSED [ 61%] 105s tests/test_docs.py::test_commands_are_documented[convert] PASSED [ 61%] 105s tests/test_docs.py::test_commands_are_documented[add-geometry-column] PASSED [ 61%] 105s tests/test_docs.py::test_commands_are_documented[create-spatial-index] PASSED [ 61%] 105s tests/test_docs.py::test_commands_are_documented[plugins] PASSED [ 61%] 105s tests/test_docs.py::test_commands_have_help[command0] PASSED [ 61%] 105s tests/test_docs.py::test_commands_have_help[command1] PASSED [ 61%] 105s tests/test_docs.py::test_commands_have_help[command2] PASSED [ 62%] 105s tests/test_docs.py::test_commands_have_help[command3] PASSED [ 62%] 105s tests/test_docs.py::test_commands_have_help[command4] PASSED [ 62%] 105s tests/test_docs.py::test_commands_have_help[command5] PASSED [ 62%] 105s tests/test_docs.py::test_commands_have_help[command6] PASSED [ 62%] 105s tests/test_docs.py::test_commands_have_help[command7] PASSED [ 62%] 105s tests/test_docs.py::test_commands_have_help[command8] PASSED [ 62%] 105s tests/test_docs.py::test_commands_have_help[command9] PASSED [ 62%] 105s tests/test_docs.py::test_commands_have_help[command10] PASSED [ 62%] 105s tests/test_docs.py::test_commands_have_help[command11] PASSED [ 62%] 105s tests/test_docs.py::test_commands_have_help[command12] PASSED [ 63%] 105s tests/test_docs.py::test_commands_have_help[command13] PASSED [ 63%] 105s tests/test_docs.py::test_commands_have_help[command14] PASSED [ 63%] 105s tests/test_docs.py::test_commands_have_help[command15] PASSED [ 63%] 105s tests/test_docs.py::test_commands_have_help[command16] PASSED [ 63%] 105s tests/test_docs.py::test_commands_have_help[command17] PASSED [ 63%] 105s tests/test_docs.py::test_commands_have_help[command18] PASSED [ 63%] 105s tests/test_docs.py::test_commands_have_help[command19] PASSED [ 63%] 105s tests/test_docs.py::test_commands_have_help[command20] PASSED [ 63%] 105s tests/test_docs.py::test_commands_have_help[command21] PASSED [ 63%] 105s tests/test_docs.py::test_commands_have_help[command22] PASSED [ 64%] 105s tests/test_docs.py::test_commands_have_help[command23] PASSED [ 64%] 105s tests/test_docs.py::test_commands_have_help[command24] PASSED [ 64%] 105s tests/test_docs.py::test_commands_have_help[command25] PASSED [ 64%] 105s tests/test_docs.py::test_commands_have_help[command26] PASSED [ 64%] 105s tests/test_docs.py::test_commands_have_help[command27] PASSED [ 64%] 105s tests/test_docs.py::test_commands_have_help[command28] PASSED [ 64%] 105s tests/test_docs.py::test_commands_have_help[command29] PASSED [ 64%] 105s tests/test_docs.py::test_commands_have_help[command30] PASSED [ 64%] 105s tests/test_docs.py::test_commands_have_help[command31] PASSED [ 64%] 105s tests/test_docs.py::test_commands_have_help[command32] PASSED [ 65%] 105s tests/test_docs.py::test_commands_have_help[command33] PASSED [ 65%] 105s tests/test_docs.py::test_commands_have_help[command34] PASSED [ 65%] 105s tests/test_docs.py::test_commands_have_help[command35] PASSED [ 65%] 105s tests/test_docs.py::test_commands_have_help[command36] PASSED [ 65%] 105s tests/test_docs.py::test_commands_have_help[command37] PASSED [ 65%] 105s tests/test_docs.py::test_commands_have_help[command38] PASSED [ 65%] 105s tests/test_docs.py::test_commands_have_help[command39] PASSED [ 65%] 105s tests/test_docs.py::test_commands_have_help[command40] PASSED [ 65%] 105s tests/test_docs.py::test_commands_have_help[command41] PASSED [ 65%] 105s tests/test_docs.py::test_commands_have_help[command42] PASSED [ 66%] 105s tests/test_docs.py::test_commands_have_help[command43] PASSED [ 66%] 105s tests/test_docs.py::test_commands_have_help[command44] PASSED [ 66%] 105s tests/test_docs.py::test_commands_have_help[command45] PASSED [ 66%] 105s tests/test_docs.py::test_convert_help PASSED [ 66%] 105s tests/test_docs.py::test_recipes_are_documented[jsonsplit] PASSED [ 66%] 105s tests/test_docs.py::test_recipes_are_documented[parsedate] PASSED [ 66%] 105s tests/test_docs.py::test_recipes_are_documented[parsedatetime] PASSED [ 66%] 105s tests/test_duplicate.py::test_duplicate PASSED [ 66%] 106s tests/test_duplicate.py::test_duplicate_fails_if_table_does_not_exist PASSED [ 67%] 106s tests/test_enable_counts.py::test_enable_counts_specific_table PASSED [ 67%] 106s tests/test_enable_counts.py::test_enable_counts_all_tables PASSED [ 67%] 106s tests/test_enable_counts.py::test_cli_enable_counts[extra_args0-expected_triggers0] PASSED [ 67%] 106s tests/test_enable_counts.py::test_cli_enable_counts[extra_args1-expected_triggers1] PASSED [ 67%] 106s tests/test_enable_counts.py::test_uses_counts_after_enable_counts PASSED [ 67%] 106s tests/test_enable_counts.py::test_reset_counts PASSED [ 67%] 106s tests/test_enable_counts.py::test_reset_counts_cli PASSED [ 67%] 106s tests/test_extract.py::test_extract_single_column[None-None] PASSED [ 67%] 106s tests/test_extract.py::test_extract_single_column[None-Species] PASSED [ 67%] 106s tests/test_extract.py::test_extract_single_column[species-None] PASSED [ 68%] 106s tests/test_extract.py::test_extract_single_column[species-Species] PASSED [ 68%] 106s tests/test_extract.py::test_extract_multiple_columns_with_rename PASSED [ 68%] 106s tests/test_extract.py::test_extract_invalid_columns PASSED [ 68%] 106s tests/test_extract.py::test_extract_rowid_table PASSED [ 68%] 106s tests/test_extract.py::test_reuse_lookup_table PASSED [ 68%] 106s tests/test_extract.py::test_extract_error_on_incompatible_existing_lookup_table PASSED [ 68%] 106s tests/test_extract.py::test_extract_works_with_null_values PASSED [ 68%] 106s tests/test_extracts.py::test_extracts[True-kwargs0-Species] PASSED [ 68%] 106s tests/test_extracts.py::test_extracts[True-kwargs1-species_id] PASSED [ 68%] 106s tests/test_extracts.py::test_extracts[True-kwargs2-species_id] PASSED [ 69%] 106s tests/test_extracts.py::test_extracts[False-kwargs0-Species] PASSED [ 69%] 106s tests/test_extracts.py::test_extracts[False-kwargs1-species_id] PASSED [ 69%] 106s tests/test_extracts.py::test_extracts[False-kwargs2-species_id] PASSED [ 69%] 106s tests/test_fts.py::test_enable_fts PASSED [ 69%] 106s tests/test_fts.py::test_enable_fts_escape_table_names PASSED [ 69%] 106s tests/test_fts.py::test_search_limit_offset PASSED [ 69%] 106s tests/test_fts.py::test_search_where[FTS4] PASSED [ 69%] 106s tests/test_fts.py::test_search_where[FTS5] PASSED [ 69%] 106s tests/test_fts.py::test_search_where_args_disallows_query PASSED [ 69%] 106s tests/test_fts.py::test_enable_fts_table_names_containing_spaces PASSED [ 70%] 106s tests/test_fts.py::test_populate_fts PASSED [ 70%] 106s tests/test_fts.py::test_populate_fts_escape_table_names PASSED [ 70%] 106s tests/test_fts.py::test_fts_tokenize[4] PASSED [ 70%] 106s tests/test_fts.py::test_fts_tokenize[5] PASSED [ 70%] 106s tests/test_fts.py::test_optimize_fts PASSED [ 70%] 106s tests/test_fts.py::test_enable_fts_with_triggers PASSED [ 70%] 106s tests/test_fts.py::test_disable_fts[True] PASSED [ 70%] 106s tests/test_fts.py::test_disable_fts[False] PASSED [ 70%] 106s tests/test_fts.py::test_rebuild_fts PASSED [ 70%] 106s tests/test_fts.py::test_rebuild_fts_invalid[does_not_exist] PASSED [ 71%] 106s tests/test_fts.py::test_rebuild_fts_invalid[not_searchable] PASSED [ 71%] 106s tests/test_fts.py::test_rebuild_removes_junk_docsize_rows[FTS4] PASSED [ 71%] 106s tests/test_fts.py::test_rebuild_removes_junk_docsize_rows[FTS5] PASSED [ 71%] 106s tests/test_fts.py::test_enable_fts_replace[kwargs0] PASSED [ 71%] 106s tests/test_fts.py::test_enable_fts_replace[kwargs1] PASSED [ 71%] 106s tests/test_fts.py::test_enable_fts_replace[kwargs2] PASSED [ 71%] 106s tests/test_fts.py::test_enable_fts_replace[kwargs3] PASSED [ 71%] 106s tests/test_fts.py::test_enable_fts_replace_does_nothing_if_args_the_same PASSED [ 71%] 106s tests/test_fts.py::test_enable_fts_error_message_on_views PASSED [ 71%] 106s tests/test_fts.py::test_search_sql[kwargs0-FTS5-with original as (\n select\n rowid,\n *\n from [books]\n)\nselect\n [original].*\nfrom\n [original]\n join [books_fts] on [original].rowid = [books_fts].rowid\nwhere\n [books_fts] match :query\norder by\n [books_fts].rank] PASSED [ 72%] 106s tests/test_fts.py::test_search_sql[kwargs1-FTS5-with original as (\n select\n rowid,\n [title]\n from [books]\n)\nselect\n [original].[title]\nfrom\n [original]\n join [books_fts] on [original].rowid = [books_fts].rowid\nwhere\n [books_fts] match :query\norder by\n rowid\nlimit 10] PASSED [ 72%] 106s tests/test_fts.py::test_search_sql[kwargs2-FTS5-with original as (\n select\n rowid,\n *\n from [books]\n where author = :author\n)\nselect\n [original].*\nfrom\n [original]\n join [books_fts] on [original].rowid = [books_fts].rowid\nwhere\n [books_fts] match :query\norder by\n [books_fts].rank] PASSED [ 72%] 106s tests/test_fts.py::test_search_sql[kwargs3-FTS4-with original as (\n select\n rowid,\n [title]\n from [books]\n)\nselect\n [original].[title]\nfrom\n [original]\n join [books_fts] on [original].rowid = [books_fts].rowid\nwhere\n [books_fts] match :query\norder by\n rank_bm25(matchinfo([books_fts], 'pcnalx'))] PASSED [ 72%] 106s tests/test_fts.py::test_search_sql[kwargs4-FTS4-with original as (\n select\n rowid,\n *\n from [books]\n)\nselect\n [original].*\nfrom\n [original]\n join [books_fts] on [original].rowid = [books_fts].rowid\nwhere\n [books_fts] match :query\norder by\n rank_bm25(matchinfo([books_fts], 'pcnalx'))\nlimit 1 offset 1] PASSED [ 72%] 106s tests/test_fts.py::test_search_sql[kwargs5-FTS4-with original as (\n select\n rowid,\n *\n from [books]\n)\nselect\n [original].*\nfrom\n [original]\n join [books_fts] on [original].rowid = [books_fts].rowid\nwhere\n [books_fts] match :query\norder by\n rank_bm25(matchinfo([books_fts], 'pcnalx'))\nlimit 2] PASSED [ 72%] 106s tests/test_fts.py::test_search_sql[kwargs6-FTS4-with original as (\n select\n rowid,\n *\n from [books]\n where author = :author\n)\nselect\n [original].*\nfrom\n [original]\n join [books_fts] on [original].rowid = [books_fts].rowid\nwhere\n [books_fts] match :query\norder by\n rank_bm25(matchinfo([books_fts], 'pcnalx'))] PASSED [ 72%] 106s tests/test_fts.py::test_search_sql[kwargs7-FTS5-with original as (\n select\n rowid,\n *\n from [books]\n)\nselect\n [original].*,\n [books_fts].rank rank\nfrom\n [original]\n join [books_fts] on [original].rowid = [books_fts].rowid\nwhere\n [books_fts] match :query\norder by\n [books_fts].rank] PASSED [ 72%] 106s tests/test_fts.py::test_search_sql[kwargs8-FTS4-with original as (\n select\n rowid,\n *\n from [books]\n)\nselect\n [original].*,\n rank_bm25(matchinfo([books_fts], 'pcnalx')) rank\nfrom\n [original]\n join [books_fts] on [original].rowid = [books_fts].rowid\nwhere\n [books_fts] match :query\norder by\n rank_bm25(matchinfo([books_fts], 'pcnalx'))] PASSED [ 72%] 106s tests/test_fts.py::test_quote_fts_query[dog-"dog"] PASSED [ 72%] 106s tests/test_fts.py::test_quote_fts_query[cat,-"cat,"] PASSED [ 73%] 106s tests/test_fts.py::test_quote_fts_query[cat's-"cat's"] PASSED [ 73%] 106s tests/test_fts.py::test_quote_fts_query[dog.-"dog."] PASSED [ 73%] 106s tests/test_fts.py::test_quote_fts_query[cat dog-"cat" "dog"] PASSED [ 73%] 106s tests/test_fts.py::test_quote_fts_query["cat dog"-"cat dog"] PASSED [ 73%] 106s tests/test_fts.py::test_quote_fts_query["cat dog" fish-"cat dog" "fish"] PASSED [ 73%] 106s tests/test_fts.py::test_quote_fts_query[cat"-"cat"] PASSED [ 73%] 106s tests/test_fts.py::test_quote_fts_query["cat dog" "fish-"cat dog" "fish"] PASSED [ 73%] 106s tests/test_fts.py::test_search_quote PASSED [ 73%] 106s tests/test_get.py::test_get_rowid PASSED [ 73%] 106s tests/test_get.py::test_get_primary_key PASSED [ 74%] 106s tests/test_get.py::test_get_not_found[100-None] PASSED [ 74%] 106s tests/test_get.py::test_get_not_found[None-None] PASSED [ 74%] 106s tests/test_get.py::test_get_not_found[argument2-Need 1 primary key value] PASSED [ 74%] 106s tests/test_get.py::test_get_not_found[2-None] PASSED [ 74%] 106s tests/test_gis.py::test_find_spatialite SKIPPED (Could not find Spat...) [ 74%] 106s tests/test_gis.py::test_init_spatialite SKIPPED (Could not find Spat...) [ 74%] 106s tests/test_gis.py::test_add_geometry_column SKIPPED (Could not find ...) [ 74%] 106s tests/test_gis.py::test_create_spatial_index SKIPPED (Could not find...) [ 74%] 106s tests/test_gis.py::test_double_create_spatial_index SKIPPED (Could n...) [ 74%] 106s tests/test_gis.py::test_query_load_extension[True] SKIPPED (Could no...) [ 75%] 106s tests/test_gis.py::test_query_load_extension[False] SKIPPED (Could n...) [ 75%] 106s tests/test_gis.py::test_cli_create_spatialite SKIPPED (Could not fin...) [ 75%] 106s tests/test_gis.py::test_cli_add_geometry_column SKIPPED (Could not f...) [ 75%] 106s tests/test_gis.py::test_cli_add_geometry_column_options SKIPPED (Cou...) [ 75%] 106s tests/test_gis.py::test_cli_add_geometry_column_invalid_type SKIPPED [ 75%] 106s tests/test_gis.py::test_cli_create_spatial_index SKIPPED (Could not ...) [ 75%] 106s tests/test_hypothesis.py::test_roundtrip_integers PASSED [ 75%] 108s tests/test_hypothesis.py::test_roundtrip_text PASSED [ 75%] 108s tests/test_hypothesis.py::test_roundtrip_binary PASSED [ 75%] 108s tests/test_hypothesis.py::test_roundtrip_floats PASSED [ 76%] 108s tests/test_insert_files.py::test_insert_files[False] PASSED [ 76%] 108s tests/test_insert_files.py::test_insert_files[True] PASSED [ 76%] 108s tests/test_insert_files.py::test_insert_files_stdin[False-None-hello world-hello world] PASSED [ 76%] 108s tests/test_insert_files.py::test_insert_files_stdin[True-None-hello world-hello world] PASSED [ 76%] 108s tests/test_insert_files.py::test_insert_files_stdin[False-None-S\xe3o Paulo-S\xe3o Paulo] PASSED [ 76%] 108s tests/test_insert_files.py::test_insert_files_stdin[True-latin-1-S\xe3o Paulo-S\xe3o Paulo] PASSED [ 76%] 108s tests/test_insert_files.py::test_insert_files_bad_text_encoding_error PASSED [ 76%] 108s tests/test_introspect.py::test_table_names PASSED [ 76%] 108s tests/test_introspect.py::test_view_names PASSED [ 76%] 108s tests/test_introspect.py::test_table_names_fts4 PASSED [ 77%] 108s tests/test_introspect.py::test_detect_fts PASSED [ 77%] 108s tests/test_introspect.py::test_detect_fts_similar_tables[True] PASSED [ 77%] 108s tests/test_introspect.py::test_detect_fts_similar_tables[False] PASSED [ 77%] 108s tests/test_introspect.py::test_tables PASSED [ 77%] 108s tests/test_introspect.py::test_views PASSED [ 77%] 108s tests/test_introspect.py::test_count PASSED [ 77%] 108s tests/test_introspect.py::test_count_where PASSED [ 77%] 108s tests/test_introspect.py::test_columns PASSED [ 77%] 108s tests/test_introspect.py::test_table_schema PASSED [ 77%] 108s tests/test_introspect.py::test_database_schema PASSED [ 78%] 108s tests/test_introspect.py::test_table_repr PASSED [ 78%] 108s tests/test_introspect.py::test_indexes PASSED [ 78%] 108s tests/test_introspect.py::test_xindexes PASSED [ 78%] 108s tests/test_introspect.py::test_guess_foreign_table[author-authors] PASSED [ 78%] 108s tests/test_introspect.py::test_guess_foreign_table[author_id-authors] PASSED [ 78%] 108s tests/test_introspect.py::test_guess_foreign_table[authors-authors] PASSED [ 78%] 108s tests/test_introspect.py::test_guess_foreign_table[genre-genre] PASSED [ 78%] 108s tests/test_introspect.py::test_guess_foreign_table[genre_id-genre] PASSED [ 78%] 108s tests/test_introspect.py::test_pks[None-expected0] PASSED [ 78%] 108s tests/test_introspect.py::test_pks[id-expected1] PASSED [ 79%] 108s tests/test_introspect.py::test_pks[pk2-expected2] PASSED [ 79%] 108s tests/test_introspect.py::test_triggers_and_triggers_dict PASSED [ 79%] 108s tests/test_introspect.py::test_has_counts_triggers PASSED [ 79%] 108s tests/test_introspect.py::test_virtual_table_using[\n CREATE VIRTUAL TABLE foo USING FTS5(name)\n -foo-FTS5] PASSED [ 79%] 108s tests/test_introspect.py::test_virtual_table_using[\n CREATE VIRTUAL TABLE "foo" USING FTS4(name)\n -foo-FTS4] PASSED [ 79%] 108s tests/test_introspect.py::test_virtual_table_using[\n CREATE VIRTUAL TABLE IF NOT EXISTS `foo` USING FTS4(name)\n -foo-FTS4] PASSED [ 79%] 108s tests/test_introspect.py::test_virtual_table_using[\n CREATE VIRTUAL TABLE IF NOT EXISTS `foo` USING fts5(name)\n -foo-FTS5] PASSED [ 79%] 108s tests/test_introspect.py::test_virtual_table_using[\n CREATE TABLE IF NOT EXISTS `foo` (id integer primary key)\n -foo-None] PASSED [ 79%] 108s tests/test_introspect.py::test_use_rowid PASSED [ 79%] 108s tests/test_introspect.py::test_table_strict[create table t (id integer) strict-True] PASSED [ 80%] 108s tests/test_introspect.py::test_table_strict[create table t (id integer) STRICT-True] PASSED [ 80%] 108s tests/test_introspect.py::test_table_strict[create table t (id integer primary key) StriCt, WITHOUT ROWID-True] PASSED [ 80%] 108s tests/test_introspect.py::test_table_strict[create table t (id integer primary key) WITHOUT ROWID-False] PASSED [ 80%] 108s tests/test_introspect.py::test_table_strict[create table t (id integer)-False] PASSED [ 80%] 108s tests/test_introspect.py::test_table_default_values[1] PASSED [ 80%] 108s tests/test_introspect.py::test_table_default_values[1.3] PASSED [ 80%] 108s tests/test_introspect.py::test_table_default_values[foo] PASSED [ 80%] 108s tests/test_introspect.py::test_table_default_values[True] PASSED [ 80%] 108s tests/test_introspect.py::test_table_default_values[binary] PASSED [ 80%] 108s tests/test_lookup.py::test_lookup_new_table PASSED [ 81%] 108s tests/test_lookup.py::test_lookup_new_table_compound_key PASSED [ 81%] 108s tests/test_lookup.py::test_lookup_adds_unique_constraint_to_existing_table PASSED [ 81%] 108s tests/test_lookup.py::test_lookup_fails_if_constraint_cannot_be_added PASSED [ 81%] 108s tests/test_lookup.py::test_lookup_with_extra_values PASSED [ 81%] 108s tests/test_lookup.py::test_lookup_with_extra_insert_parameters PASSED [ 81%] 108s tests/test_lookup.py::test_lookup_new_table_strict[False] PASSED [ 81%] 108s tests/test_lookup.py::test_lookup_new_table_strict[True] PASSED [ 81%] 108s tests/test_m2m.py::test_insert_m2m_single PASSED [ 81%] 108s tests/test_m2m.py::test_insert_m2m_alter PASSED [ 81%] 108s tests/test_m2m.py::test_insert_m2m_list PASSED [ 82%] 108s tests/test_m2m.py::test_insert_m2m_iterable PASSED [ 82%] 108s tests/test_m2m.py::test_m2m_with_table_objects PASSED [ 82%] 108s tests/test_m2m.py::test_m2m_lookup PASSED [ 82%] 108s tests/test_m2m.py::test_m2m_requires_either_records_or_lookup PASSED [ 82%] 108s tests/test_m2m.py::test_m2m_explicit_table_name_argument PASSED [ 82%] 108s tests/test_m2m.py::test_m2m_table_candidates PASSED [ 82%] 108s tests/test_m2m.py::test_uses_existing_m2m_table_if_exists PASSED [ 82%] 108s tests/test_m2m.py::test_requires_explicit_m2m_table_if_multiple_options PASSED [ 82%] 108s tests/test_plugins.py::test_register_commands PASSED [ 82%] 108s tests/test_plugins.py::test_prepare_connection PASSED [ 83%] 108s tests/test_query.py::test_query PASSED [ 83%] 108s tests/test_query.py::test_execute_returning_dicts PASSED [ 83%] 108s tests/test_recipes.py::test_parsedate PASSED [ 83%] 108s tests/test_recipes.py::test_parsedatetime PASSED [ 83%] 108s tests/test_recipes.py::test_dayfirst_yearfirst[parsedate-kwargs0-2005-03-04] PASSED [ 83%] 108s tests/test_recipes.py::test_dayfirst_yearfirst[parsedate-kwargs1-2005-04-03] PASSED [ 83%] 108s tests/test_recipes.py::test_dayfirst_yearfirst[parsedatetime-kwargs2-2005-03-04T00:00:00] PASSED [ 83%] 108s tests/test_recipes.py::test_dayfirst_yearfirst[parsedatetime-kwargs3-2005-04-03T00:00:00] PASSED [ 83%] 108s tests/test_recipes.py::test_dateparse_errors[None-parsedate] PASSED [ 83%] 108s tests/test_recipes.py::test_dateparse_errors[None-parsedatetime] PASSED [ 84%] 108s tests/test_recipes.py::test_dateparse_errors[errors1-parsedate] PASSED [ 84%] 108s tests/test_recipes.py::test_dateparse_errors[errors1-parsedatetime] PASSED [ 84%] 108s tests/test_recipes.py::test_dateparse_errors[errors2-parsedate] PASSED [ 84%] 108s tests/test_recipes.py::test_dateparse_errors[errors2-parsedatetime] PASSED [ 84%] 108s tests/test_recipes.py::test_jsonsplit[None] PASSED [ 84%] 108s tests/test_recipes.py::test_jsonsplit[;] PASSED [ 84%] 108s tests/test_recipes.py::test_jsonsplit[-] PASSED [ 84%] 108s tests/test_recipes.py::test_jsonsplit_type[None-expected0] PASSED [ 84%] 108s tests/test_recipes.py::test_jsonsplit_type[float-expected1] PASSED [ 84%] 108s tests/test_recipes.py::test_jsonsplit_type[int-expected2] PASSED [ 85%] 108s tests/test_recreate.py::test_recreate_ignored_for_in_memory PASSED [ 85%] 108s tests/test_recreate.py::test_recreate_not_allowed_for_connection PASSED [ 85%] 108s tests/test_recreate.py::test_recreate[True-True] PASSED [ 85%] 108s tests/test_recreate.py::test_recreate[True-False] PASSED [ 85%] 108s tests/test_recreate.py::test_recreate[False-True] PASSED [ 85%] 108s tests/test_recreate.py::test_recreate[False-False] PASSED [ 85%] 108s tests/test_register_function.py::test_register_function PASSED [ 85%] 108s tests/test_register_function.py::test_register_function_custom_name PASSED [ 85%] 108s tests/test_register_function.py::test_register_function_multiple_arguments PASSED [ 85%] 108s tests/test_register_function.py::test_register_function_deterministic PASSED [ 86%] 108s tests/test_register_function.py::test_register_function_deterministic_tries_again_if_exception_raised PASSED [ 86%] 108s tests/test_register_function.py::test_register_function_replace PASSED [ 86%] 108s tests/test_rows.py::test_rows PASSED [ 86%] 108s tests/test_rows.py::test_rows_where[name = ?-where_args0-expected_ids0] PASSED [ 86%] 108s tests/test_rows.py::test_rows_where[age > ?-where_args1-expected_ids1] PASSED [ 86%] 108s tests/test_rows.py::test_rows_where[age > :age-where_args2-expected_ids2] PASSED [ 86%] 108s tests/test_rows.py::test_rows_where[name is not null-where_args3-expected_ids3] PASSED [ 86%] 108s tests/test_rows.py::test_rows_where[is_good = ?-where_args4-expected_ids4] PASSED [ 86%] 108s tests/test_rows.py::test_rows_where_order_by[None-None-expected_ids0] PASSED [ 86%] 108s tests/test_rows.py::test_rows_where_order_by[None-id desc-expected_ids1] PASSED [ 87%] 108s tests/test_rows.py::test_rows_where_order_by[None-age-expected_ids2] PASSED [ 87%] 108s tests/test_rows.py::test_rows_where_order_by[id > 1-age-expected_ids3] PASSED [ 87%] 108s tests/test_rows.py::test_rows_where_offset_limit[None-3-expected0] PASSED [ 87%] 108s tests/test_rows.py::test_rows_where_offset_limit[0-3-expected1] PASSED [ 87%] 108s tests/test_rows.py::test_rows_where_offset_limit[3-3-expected2] PASSED [ 87%] 108s tests/test_rows.py::test_pks_and_rows_where_rowid PASSED [ 87%] 108s tests/test_rows.py::test_pks_and_rows_where_simple_pk PASSED [ 87%] 108s tests/test_rows.py::test_pks_and_rows_where_compound_pk PASSED [ 87%] 108s tests/test_rows_from_file.py::test_rows_from_file_detect_format[id,name\n1,Cleo-Format.CSV] PASSED [ 87%] 108s tests/test_rows_from_file.py::test_rows_from_file_detect_format[id\tname\n1\tCleo-Format.TSV] PASSED [ 88%] 108s tests/test_rows_from_file.py::test_rows_from_file_detect_format[[{"id": "1", "name": "Cleo"}]-Format.JSON] PASSED [ 88%] 108s tests/test_rows_from_file.py::test_rows_from_file_extra_fields_strategies[True-None-expected0] PASSED [ 88%] 108s tests/test_rows_from_file.py::test_rows_from_file_extra_fields_strategies[False-_rest-expected1] PASSED [ 88%] 108s tests/test_rows_from_file.py::test_rows_from_file_extra_fields_strategies[False-False-None] PASSED [ 88%] 108s tests/test_rows_from_file.py::test_rows_from_file_error_on_string_io PASSED [ 88%] 108s tests/test_sniff.py::test_sniff[filepath0] PASSED [ 88%] 108s tests/test_sniff.py::test_sniff[filepath1] PASSED [ 88%] 108s tests/test_sniff.py::test_sniff[filepath2] PASSED [ 88%] 108s tests/test_sniff.py::test_sniff[filepath3] PASSED [ 88%] 108s tests/test_suggest_column_types.py::test_suggest_column_types[records0-types0] PASSED [ 89%] 108s tests/test_suggest_column_types.py::test_suggest_column_types[records1-types1] PASSED [ 89%] 108s tests/test_suggest_column_types.py::test_suggest_column_types[records2-types2] PASSED [ 89%] 108s tests/test_suggest_column_types.py::test_suggest_column_types[records3-types3] PASSED [ 89%] 108s tests/test_suggest_column_types.py::test_suggest_column_types[records4-types4] PASSED [ 89%] 108s tests/test_suggest_column_types.py::test_suggest_column_types[records5-types5] PASSED [ 89%] 108s tests/test_suggest_column_types.py::test_suggest_column_types[records6-types6] PASSED [ 89%] 108s tests/test_suggest_column_types.py::test_suggest_column_types[records7-types7] PASSED [ 89%] 108s tests/test_suggest_column_types.py::test_suggest_column_types[records8-types8] PASSED [ 89%] 108s tests/test_suggest_column_types.py::test_suggest_column_types[records9-types9] PASSED [ 89%] 108s tests/test_suggest_column_types.py::test_suggest_column_types[records10-types10] PASSED [ 90%] 108s tests/test_suggest_column_types.py::test_suggest_column_types[records11-types11] PASSED [ 90%] 108s tests/test_suggest_column_types.py::test_suggest_column_types[records12-types12] PASSED [ 90%] 108s tests/test_suggest_column_types.py::test_suggest_column_types[records13-types13] PASSED [ 90%] 108s tests/test_suggest_column_types.py::test_suggest_column_types[records14-types14] PASSED [ 90%] 108s tests/test_suggest_column_types.py::test_suggest_column_types[records15-types15] PASSED [ 90%] 108s tests/test_tracer.py::test_tracer PASSED [ 90%] 108s tests/test_tracer.py::test_with_tracer PASSED [ 90%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[False-params0-expected_sql0] PASSED [ 90%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[False-params1-expected_sql1] PASSED [ 90%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[False-params2-expected_sql2] PASSED [ 91%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[False-params3-expected_sql3] PASSED [ 91%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[False-params4-expected_sql4] PASSED [ 91%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[False-params5-expected_sql5] PASSED [ 91%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[False-params6-expected_sql6] PASSED [ 91%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[False-params7-expected_sql7] PASSED [ 91%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[False-params8-expected_sql8] PASSED [ 91%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[True-params0-expected_sql0] PASSED [ 91%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[True-params1-expected_sql1] PASSED [ 91%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[True-params2-expected_sql2] PASSED [ 91%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[True-params3-expected_sql3] PASSED [ 92%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[True-params4-expected_sql4] PASSED [ 92%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[True-params5-expected_sql5] PASSED [ 92%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[True-params6-expected_sql6] PASSED [ 92%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[True-params7-expected_sql7] PASSED [ 92%] 108s tests/test_transform.py::test_transform_sql_table_with_primary_key[True-params8-expected_sql8] PASSED [ 92%] 108s tests/test_transform.py::test_transform_sql_table_with_no_primary_key[False-params0-expected_sql0] PASSED [ 92%] 108s tests/test_transform.py::test_transform_sql_table_with_no_primary_key[False-params1-expected_sql1] PASSED [ 92%] 108s tests/test_transform.py::test_transform_sql_table_with_no_primary_key[False-params2-expected_sql2] PASSED [ 92%] 108s tests/test_transform.py::test_transform_sql_table_with_no_primary_key[False-params3-expected_sql3] PASSED [ 92%] 108s tests/test_transform.py::test_transform_sql_table_with_no_primary_key[True-params0-expected_sql0] PASSED [ 93%] 108s tests/test_transform.py::test_transform_sql_table_with_no_primary_key[True-params1-expected_sql1] PASSED [ 93%] 108s tests/test_transform.py::test_transform_sql_table_with_no_primary_key[True-params2-expected_sql2] PASSED [ 93%] 108s tests/test_transform.py::test_transform_sql_table_with_no_primary_key[True-params3-expected_sql3] PASSED [ 93%] 108s tests/test_transform.py::test_transform_sql_with_no_primary_key_to_primary_key_of_id PASSED [ 93%] 108s tests/test_transform.py::test_transform_rename_pk PASSED [ 93%] 108s tests/test_transform.py::test_transform_not_null PASSED [ 93%] 108s tests/test_transform.py::test_transform_remove_a_not_null PASSED [ 93%] 108s tests/test_transform.py::test_transform_add_not_null_with_rename[not_null0] PASSED [ 93%] 108s tests/test_transform.py::test_transform_add_not_null_with_rename[not_null1] PASSED [ 93%] 108s tests/test_transform.py::test_transform_defaults PASSED [ 94%] 108s tests/test_transform.py::test_transform_defaults_and_rename_column PASSED [ 94%] 108s tests/test_transform.py::test_remove_defaults PASSED [ 94%] 108s tests/test_transform.py::test_transform_foreign_keys_persist PASSED [ 94%] 108s tests/test_transform.py::test_transform_foreign_keys_survive_renamed_column[False] PASSED [ 94%] 108s tests/test_transform.py::test_transform_foreign_keys_survive_renamed_column[True] PASSED [ 94%] 108s tests/test_transform.py::test_transform_drop_foreign_keys[False] PASSED [ 94%] 108s tests/test_transform.py::test_transform_drop_foreign_keys[True] PASSED [ 94%] 108s tests/test_transform.py::test_transform_verify_foreign_keys PASSED [ 94%] 108s tests/test_transform.py::test_transform_add_foreign_keys_from_scratch PASSED [ 94%] 108s tests/test_transform.py::test_transform_add_foreign_keys_from_partial[add_foreign_keys0] PASSED [ 95%] 108s tests/test_transform.py::test_transform_add_foreign_keys_from_partial[add_foreign_keys1] PASSED [ 95%] 108s tests/test_transform.py::test_transform_replace_foreign_keys[foreign_keys0] PASSED [ 95%] 108s tests/test_transform.py::test_transform_replace_foreign_keys[foreign_keys1] PASSED [ 95%] 108s tests/test_transform.py::test_transform_preserves_rowids[id_pk] PASSED [ 95%] 108s tests/test_transform.py::test_transform_preserves_rowids[rowid] PASSED [ 95%] 108s tests/test_transform.py::test_transform_preserves_rowids[compound_pk] PASSED [ 95%] 108s tests/test_transform.py::test_transform_strict[False] PASSED [ 95%] 108s tests/test_transform.py::test_transform_strict[True] PASSED [ 95%] 108s tests/test_update.py::test_update_rowid_table PASSED [ 95%] 108s tests/test_update.py::test_update_pk_table PASSED [ 96%] 108s tests/test_update.py::test_update_compound_pk_table PASSED [ 96%] 108s tests/test_update.py::test_update_invalid_pk[None-2] PASSED [ 96%] 108s tests/test_update.py::test_update_invalid_pk[None-None] PASSED [ 96%] 108s tests/test_update.py::test_update_invalid_pk[id1-None] PASSED [ 96%] 108s tests/test_update.py::test_update_invalid_pk[id1-4] PASSED [ 96%] 108s tests/test_update.py::test_update_invalid_pk[pk4-None] PASSED [ 96%] 108s tests/test_update.py::test_update_invalid_pk[pk5-4] PASSED [ 96%] 108s tests/test_update.py::test_update_invalid_pk[pk6-update_pk6] PASSED [ 96%] 108s tests/test_update.py::test_update_alter PASSED [ 96%] 108s tests/test_update.py::test_update_alter_with_invalid_column_characters PASSED [ 97%] 108s tests/test_update.py::test_update_with_no_values_sets_last_pk PASSED [ 97%] 108s tests/test_update.py::test_update_dictionaries_and_lists_as_json[data_structure0] PASSED [ 97%] 108s tests/test_update.py::test_update_dictionaries_and_lists_as_json[data_structure1] PASSED [ 97%] 108s tests/test_update.py::test_update_dictionaries_and_lists_as_json[data_structure2] PASSED [ 97%] 108s tests/test_update.py::test_update_dictionaries_and_lists_as_json[data_structure3] PASSED [ 97%] 108s tests/test_update.py::test_update_dictionaries_and_lists_as_json[data_structure4] PASSED [ 97%] 108s tests/test_update.py::test_update_dictionaries_and_lists_as_json[data_structure5] PASSED [ 97%] 108s tests/test_upsert.py::test_upsert PASSED [ 97%] 108s tests/test_upsert.py::test_upsert_all PASSED [ 97%] 108s tests/test_upsert.py::test_upsert_all_single_column PASSED [ 98%] 108s tests/test_upsert.py::test_upsert_all_not_null PASSED [ 98%] 108s tests/test_upsert.py::test_upsert_error_if_no_pk PASSED [ 98%] 108s tests/test_upsert.py::test_upsert_with_hash_id PASSED [ 98%] 108s tests/test_upsert.py::test_upsert_with_hash_id_columns[None] PASSED [ 98%] 108s tests/test_upsert.py::test_upsert_with_hash_id_columns[custom_id] PASSED [ 98%] 108s tests/test_upsert.py::test_upsert_compound_primary_key PASSED [ 98%] 108s tests/test_utils.py::test_decode_base64_values[input0-None-True] PASSED [ 98%] 108s tests/test_utils.py::test_decode_base64_values[input1-None-True] PASSED [ 98%] 108s tests/test_utils.py::test_decode_base64_values[input2-expected2-False] PASSED [ 98%] 108s tests/test_utils.py::test_chunks[1-expected0] PASSED [ 99%] 108s tests/test_utils.py::test_chunks[2-expected1] PASSED [ 99%] 108s tests/test_utils.py::test_chunks[3-expected2] PASSED [ 99%] 108s tests/test_utils.py::test_chunks[4-expected3] PASSED [ 99%] 108s tests/test_utils.py::test_hash_record PASSED [ 99%] 108s tests/test_utils.py::test_maximize_csv_field_size_limit PASSED [ 99%] 108s tests/test_utils.py::test_flatten[input0-expected0] PASSED [ 99%] 108s tests/test_utils.py::test_flatten[input1-expected1] PASSED [ 99%] 108s tests/test_utils.py::test_flatten[input2-expected2] PASSED [ 99%] 108s tests/test_wal.py::test_enable_disable_wal PASSED [100%] 108s 108s =============================== warnings summary =============================== 108s tests/test_cli.py::test_upsert_alter 108s :714: ResourceWarning: unclosed file <_io.BufferedReader name='/tmp/pytest-of-ubuntu/pytest-0/test_upsert_pk_required0/dogs.json'> 108s Enable tracemalloc to get traceback where the object was allocated. 108s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 108s 108s tests/test_cli_memory.py::test_memory_csv[False-test] 108s /usr/lib/python3/dist-packages/sqlite_utils/utils.py:217: ResourceWarning: unclosed file <_io.TextIOWrapper name='/tmp/pytest-of-ubuntu/pytest-0/test_memory_csv_False_test_0/test.csv' encoding='utf-8-sig'> 108s for row in reader: 108s Enable tracemalloc to get traceback where the object was allocated. 108s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 108s 108s tests/test_cli_memory.py::test_memory_csv[False-t] 108s /usr/lib/python3/dist-packages/sqlite_utils/utils.py:217: ResourceWarning: unclosed file <_io.TextIOWrapper name='/tmp/pytest-of-ubuntu/pytest-0/test_memory_csv_False_t_0/test.csv' encoding='utf-8-sig'> 108s for row in reader: 108s Enable tracemalloc to get traceback where the object was allocated. 108s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 108s 108s tests/test_cli_memory.py::test_memory_csv[False-t1] 108s /usr/lib/python3/dist-packages/sqlite_utils/utils.py:217: ResourceWarning: unclosed file <_io.TextIOWrapper name='/tmp/pytest-of-ubuntu/pytest-0/test_memory_csv_False_t1_0/test.csv' encoding='utf-8-sig'> 108s for row in reader: 108s Enable tracemalloc to get traceback where the object was allocated. 108s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 108s 108s tests/test_cli_memory.py::test_memory_tsv[False] 108s /usr/lib/python3/dist-packages/sqlite_utils/utils.py:217: ResourceWarning: unclosed file <_io.TextIOWrapper name='/tmp/pytest-of-ubuntu/pytest-0/test_memory_tsv_False_0/chickens.tsv' encoding='utf-8-sig'> 108s for row in reader: 108s Enable tracemalloc to get traceback where the object was allocated. 108s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 108s 108s tests/test_cli_memory.py::test_memory_dump[extra_args1] 108s /usr/lib/python3/dist-packages/click/parser.py:171: ResourceWarning: unclosed file <_io.FileIO name='/tmp/pytest-of-ubuntu/pytest-0/test_memory_csv_encoding_False0/test.csv' mode='rb' closefd=True> 108s self.prefixes: t.Set[str] = set() 108s Enable tracemalloc to get traceback where the object was allocated. 108s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 108s 108s tests/test_cli_memory.py::test_memory_two_files_with_same_stem 108s /usr/lib/python3/dist-packages/sqlite_utils/utils.py:217: ResourceWarning: unclosed file <_io.TextIOWrapper name='/tmp/pytest-of-ubuntu/pytest-0/test_memory_two_files_with_sam0/one/data.csv' encoding='utf-8-sig'> 108s for row in reader: 108s Enable tracemalloc to get traceback where the object was allocated. 108s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 108s 108s tests/test_cli_memory.py::test_memory_two_files_with_same_stem 108s /usr/lib/python3/dist-packages/sqlite_utils/utils.py:217: ResourceWarning: unclosed file <_io.TextIOWrapper name='/tmp/pytest-of-ubuntu/pytest-0/test_memory_two_files_with_sam0/two/data.csv' encoding='utf-8-sig'> 108s for row in reader: 108s Enable tracemalloc to get traceback where the object was allocated. 108s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 108s 108s tests/test_insert_files.py::test_insert_files[False] 108s tests/test_insert_files.py::test_insert_files[True] 108s /usr/lib/python3/dist-packages/sqlite_utils/cli.py:3195: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 108s "mtime_iso": lambda p: datetime.utcfromtimestamp(p.stat().st_mtime).isoformat(), 108s 108s tests/test_insert_files.py::test_insert_files[False] 108s tests/test_insert_files.py::test_insert_files[True] 108s /usr/lib/python3/dist-packages/sqlite_utils/cli.py:3196: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 108s "ctime_iso": lambda p: datetime.utcfromtimestamp(p.stat().st_ctime).isoformat(), 108s 108s tests/test_recipes.py::test_dateparse_errors[None-parsedate] 108s /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored in: .convert_value at 0x3ff91cd0720> 108s 108s Traceback (most recent call last): 108s File "/usr/lib/python3/dist-packages/sqlite_utils/db.py", line 2840, in convert_value 108s return jsonify_if_needed(fn(v)) 108s ^^^^^ 108s File "/tmp/autopkgtest.aslOwu/autopkgtest_tmp/tests/test_recipes.py", line 77, in 108s fresh_db["example"].convert("dt", lambda value: getattr(recipes, fn)(value)) 108s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 108s File "/usr/lib/python3/dist-packages/sqlite_utils/recipes.py", line 19, in parsedate 108s parser.parse(value, dayfirst=dayfirst, yearfirst=yearfirst) 108s File "/usr/lib/python3/dist-packages/dateutil/parser/_parser.py", line 1368, in parse 108s return DEFAULTPARSER.parse(timestr, **kwargs) 108s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 108s File "/usr/lib/python3/dist-packages/dateutil/parser/_parser.py", line 643, in parse 108s raise ParserError("Unknown string format: %s", timestr) 108s dateutil.parser._parser.ParserError: Unknown string format: invalid 108s 108s warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) 108s 108s tests/test_recipes.py::test_dateparse_errors[None-parsedatetime] 108s /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored in: .convert_value at 0x3ff91cd2660> 108s 108s Traceback (most recent call last): 108s File "/usr/lib/python3/dist-packages/sqlite_utils/db.py", line 2840, in convert_value 108s return jsonify_if_needed(fn(v)) 108s ^^^^^ 108s File "/tmp/autopkgtest.aslOwu/autopkgtest_tmp/tests/test_recipes.py", line 77, in 108s fresh_db["example"].convert("dt", lambda value: getattr(recipes, fn)(value)) 108s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 108s File "/usr/lib/python3/dist-packages/sqlite_utils/recipes.py", line 42, in parsedatetime 108s return parser.parse(value, dayfirst=dayfirst, yearfirst=yearfirst).isoformat() 108s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 108s File "/usr/lib/python3/dist-packages/dateutil/parser/_parser.py", line 1368, in parse 108s return DEFAULTPARSER.parse(timestr, **kwargs) 108s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 108s File "/usr/lib/python3/dist-packages/dateutil/parser/_parser.py", line 643, in parse 108s raise ParserError("Unknown string format: %s", timestr) 108s dateutil.parser._parser.ParserError: Unknown string format: invalid 108s 108s warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) 108s 108s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 108s ================ 981 passed, 16 skipped, 14 warnings in 11.51s ================= 109s autopkgtest [01:49:01]: test run-tests: -----------------------] 109s run-tests PASS 109s autopkgtest [01:49:01]: test run-tests: - - - - - - - - - - results - - - - - - - - - - 110s autopkgtest [01:49:02]: @@@@@@@@@@@@@@@@@@@@ summary 110s run-tests PASS 121s nova [W] Using flock in scalingstack-bos02-s390x 121s Creating nova instance adt-oracular-s390x-sqlite-utils-20240727-012101-juju-7f2275-prod-proposed-migration-environment-2-998d3eb0-e034-48ac-85d1-6647efb23a6b from image adt/ubuntu-oracular-s390x-server-20240726.img (UUID 1d18c6e9-51cf-4c36-8ceb-449d0bc81f1d)...