0s autopkgtest [01:32:17]: starting date and time: 2024-07-27 01:32:17+0000 0s autopkgtest [01:32:17]: git checkout: fd3bed09 nova: allow more retries for quota issues 0s autopkgtest [01:32:17]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.7y3u31_g/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-3@bos03-arm64-48.secgroup --name adt-oracular-arm64-sqlite-utils-20240727-012036-juju-7f2275-prod-proposed-migration-environment-3-4055575b-000c-4224-8f79-2bd0f12b78d7 --image adt/ubuntu-oracular-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-3 --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/ 359s autopkgtest [01:38:16]: testbed dpkg architecture: arm64 360s autopkgtest [01:38:17]: testbed apt version: 2.9.6 360s autopkgtest [01:38:17]: @@@@@@@@@@@@@@@@@@@@ test bed setup 361s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 362s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 362s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [402 kB] 363s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [4288 B] 363s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [51.2 kB] 363s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 Packages [92.5 kB] 363s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 c-n-f Metadata [2116 B] 363s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 Packages [43.9 kB] 363s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 c-n-f Metadata [364 B] 363s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 Packages [361 kB] 363s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 c-n-f Metadata [8752 B] 363s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 Packages [8744 B] 363s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 c-n-f Metadata [276 B] 364s Fetched 1110 kB in 2s (725 kB/s) 364s Reading package lists... 369s Reading package lists... 370s Building dependency tree... 370s Reading state information... 370s Calculating upgrade... 371s The following packages will be upgraded: 371s binutils binutils-aarch64-linux-gnu binutils-common bpftrace libbinutils 371s libclang-cpp18 libclang1-18 libctf-nobfd0 libctf0 libgprofng0 libllvm18 371s libsframe1 371s 12 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 371s Need to get 63.8 MB of archives. 371s After this operation, 73.7 kB of additional disk space will be used. 371s Get:1 http://ftpmaster.internal/ubuntu oracular/main arm64 libgprofng0 arm64 2.42.90.20240720-2ubuntu1 [789 kB] 372s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 libctf0 arm64 2.42.90.20240720-2ubuntu1 [96.7 kB] 372s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 libctf-nobfd0 arm64 2.42.90.20240720-2ubuntu1 [101 kB] 372s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 binutils-aarch64-linux-gnu arm64 2.42.90.20240720-2ubuntu1 [3335 kB] 372s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 libbinutils arm64 2.42.90.20240720-2ubuntu1 [774 kB] 372s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 binutils arm64 2.42.90.20240720-2ubuntu1 [18.1 kB] 372s Get:7 http://ftpmaster.internal/ubuntu oracular/main arm64 binutils-common arm64 2.42.90.20240720-2ubuntu1 [243 kB] 372s Get:8 http://ftpmaster.internal/ubuntu oracular/main arm64 libsframe1 arm64 2.42.90.20240720-2ubuntu1 [14.1 kB] 372s Get:9 http://ftpmaster.internal/ubuntu oracular/main arm64 libclang-cpp18 arm64 1:18.1.8-4ubuntu1 [13.1 MB] 372s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 libllvm18 arm64 1:18.1.8-4ubuntu1 [26.2 MB] 373s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 libclang1-18 arm64 1:18.1.8-4ubuntu1 [7506 kB] 373s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 bpftrace arm64 0.21.2-1ubuntu1 [11.7 MB] 376s Fetched 63.8 MB in 2s (28.9 MB/s) 377s (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 ... 78607 files and directories currently installed.) 377s Preparing to unpack .../00-libgprofng0_2.42.90.20240720-2ubuntu1_arm64.deb ... 377s Unpacking libgprofng0:arm64 (2.42.90.20240720-2ubuntu1) over (2.42.50.20240710-1ubuntu1) ... 378s Preparing to unpack .../01-libctf0_2.42.90.20240720-2ubuntu1_arm64.deb ... 378s Unpacking libctf0:arm64 (2.42.90.20240720-2ubuntu1) over (2.42.50.20240710-1ubuntu1) ... 378s Preparing to unpack .../02-libctf-nobfd0_2.42.90.20240720-2ubuntu1_arm64.deb ... 378s Unpacking libctf-nobfd0:arm64 (2.42.90.20240720-2ubuntu1) over (2.42.50.20240710-1ubuntu1) ... 378s Preparing to unpack .../03-binutils-aarch64-linux-gnu_2.42.90.20240720-2ubuntu1_arm64.deb ... 378s Unpacking binutils-aarch64-linux-gnu (2.42.90.20240720-2ubuntu1) over (2.42.50.20240710-1ubuntu1) ... 378s Preparing to unpack .../04-libbinutils_2.42.90.20240720-2ubuntu1_arm64.deb ... 378s Unpacking libbinutils:arm64 (2.42.90.20240720-2ubuntu1) over (2.42.50.20240710-1ubuntu1) ... 378s Preparing to unpack .../05-binutils_2.42.90.20240720-2ubuntu1_arm64.deb ... 378s Unpacking binutils (2.42.90.20240720-2ubuntu1) over (2.42.50.20240710-1ubuntu1) ... 378s Preparing to unpack .../06-binutils-common_2.42.90.20240720-2ubuntu1_arm64.deb ... 378s Unpacking binutils-common:arm64 (2.42.90.20240720-2ubuntu1) over (2.42.50.20240710-1ubuntu1) ... 379s Preparing to unpack .../07-libsframe1_2.42.90.20240720-2ubuntu1_arm64.deb ... 379s Unpacking libsframe1:arm64 (2.42.90.20240720-2ubuntu1) over (2.42.50.20240710-1ubuntu1) ... 379s Preparing to unpack .../08-libclang-cpp18_1%3a18.1.8-4ubuntu1_arm64.deb ... 379s Unpacking libclang-cpp18 (1:18.1.8-4ubuntu1) over (1:18.1.8-1) ... 379s Preparing to unpack .../09-libllvm18_1%3a18.1.8-4ubuntu1_arm64.deb ... 379s Unpacking libllvm18:arm64 (1:18.1.8-4ubuntu1) over (1:18.1.8-1) ... 381s Preparing to unpack .../10-libclang1-18_1%3a18.1.8-4ubuntu1_arm64.deb ... 381s Unpacking libclang1-18 (1:18.1.8-4ubuntu1) over (1:18.1.8-1) ... 382s Preparing to unpack .../11-bpftrace_0.21.2-1ubuntu1_arm64.deb ... 382s Unpacking bpftrace (0.21.2-1ubuntu1) over (0.21.0-1ubuntu6) ... 384s Setting up binutils-common:arm64 (2.42.90.20240720-2ubuntu1) ... 384s Setting up libctf-nobfd0:arm64 (2.42.90.20240720-2ubuntu1) ... 384s Setting up libsframe1:arm64 (2.42.90.20240720-2ubuntu1) ... 384s Setting up libbinutils:arm64 (2.42.90.20240720-2ubuntu1) ... 384s Setting up libllvm18:arm64 (1:18.1.8-4ubuntu1) ... 384s Setting up libctf0:arm64 (2.42.90.20240720-2ubuntu1) ... 384s Setting up libclang1-18 (1:18.1.8-4ubuntu1) ... 384s Setting up bpftrace (0.21.2-1ubuntu1) ... 384s Setting up libgprofng0:arm64 (2.42.90.20240720-2ubuntu1) ... 384s Setting up libclang-cpp18 (1:18.1.8-4ubuntu1) ... 384s Setting up binutils-aarch64-linux-gnu (2.42.90.20240720-2ubuntu1) ... 384s Setting up binutils (2.42.90.20240720-2ubuntu1) ... 384s Processing triggers for libc-bin (2.39-0ubuntu9) ... 384s Processing triggers for man-db (2.12.1-2) ... 408s Reading package lists... 409s Building dependency tree... 409s Reading state information... 411s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 430s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 430s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 430s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 430s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 460s Reading package lists... 462s Reading package lists... 463s Building dependency tree... 463s Reading state information... 463s Calculating upgrade... 464s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 465s Reading package lists... 465s Building dependency tree... 465s Reading state information... 466s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 527s autopkgtest [01:41:04]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 02:32:42 UTC 2024 528s autopkgtest [01:41:05]: @@@@@@@@@@@@@@@@@@@@ apt-source sqlite-utils 535s Get:1 http://ftpmaster.internal/ubuntu oracular/universe sqlite-utils 3.36-1 (dsc) [2410 B] 535s Get:2 http://ftpmaster.internal/ubuntu oracular/universe sqlite-utils 3.36-1 (tar) [460 kB] 535s Get:3 http://ftpmaster.internal/ubuntu oracular/universe sqlite-utils 3.36-1 (diff) [4340 B] 535s gpgv: Signature made Thu Mar 7 11:11:09 2024 UTC 535s gpgv: using RSA key FB8ACFA78C726089C38AD0269605A1098C63B92A 535s gpgv: Can't check signature: No public key 535s dpkg-source: warning: cannot verify inline signature for ./sqlite-utils_3.36-1.dsc: no acceptable signature found 536s autopkgtest [01:41:13]: testing package sqlite-utils version 3.36-1 537s autopkgtest [01:41:14]: build not needed 538s autopkgtest [01:41:15]: test run-tests: preparing testbed 545s Reading package lists... 547s Building dependency tree... 547s Reading state information... 548s Starting pkgProblemResolver with broken count: 0 548s Starting 2 pkgProblemResolver with broken count: 0 548s Done 548s The following additional packages will be installed: 548s libjs-jquery libjs-sphinxdoc libjs-underscore python3-all python3-click 548s python3-click-default-group python3-colorama python3-dateutil 548s python3-hypothesis python3-iniconfig python3-packaging python3-pluggy 548s python3-pytest python3-six python3-sortedcontainers python3-sqlite-fts4 548s python3-tabulate sqlite-utils 548s Suggested packages: 548s python-hypothesis-doc python-sortedcontainers-doc 548s Recommended packages: 548s javascript-common 549s The following NEW packages will be installed: 549s autopkgtest-satdep libjs-jquery libjs-sphinxdoc libjs-underscore python3-all 549s python3-click python3-click-default-group python3-colorama python3-dateutil 549s python3-hypothesis python3-iniconfig python3-packaging python3-pluggy 549s python3-pytest python3-six python3-sortedcontainers python3-sqlite-fts4 549s python3-tabulate sqlite-utils 549s 0 upgraded, 19 newly installed, 0 to remove and 0 not upgraded. 549s Need to get 2116 kB/2117 kB of archives. 549s After this operation, 8004 kB of additional disk space will be used. 549s Get:1 /tmp/autopkgtest.gAebmz/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [752 B] 550s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 550s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 550s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-sphinxdoc all 7.3.7-3 [154 kB] 550s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-all arm64 3.12.3-0ubuntu1 [888 B] 550s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 550s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3-click all 8.1.7-2 [79.5 kB] 550s Get:8 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-click-default-group all 1.2.4-1 [5684 B] 550s Get:9 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-six all 1.16.0-6 [13.0 kB] 550s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 550s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-sortedcontainers all 2.4.0-2 [27.6 kB] 550s Get:12 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-hypothesis all 6.105.1-1 [321 kB] 550s Get:13 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 550s Get:14 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-packaging all 24.1-1 [41.4 kB] 550s Get:15 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 550s Get:16 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pytest all 7.4.4-1 [305 kB] 550s Get:17 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-sqlite-fts4 all 1.0.3-2 [9228 B] 550s Get:18 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-tabulate all 0.9.0-1 [45.3 kB] 550s Get:19 http://ftpmaster.internal/ubuntu oracular/universe arm64 sqlite-utils all 3.36-1 [528 kB] 557s Fetched 2116 kB in 1s (2224 kB/s) 557s Selecting previously unselected package libjs-jquery. 557s (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 ... 78608 files and directories currently installed.) 557s Preparing to unpack .../00-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 557s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 557s Selecting previously unselected package libjs-underscore. 557s Preparing to unpack .../01-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 557s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 557s Selecting previously unselected package libjs-sphinxdoc. 557s Preparing to unpack .../02-libjs-sphinxdoc_7.3.7-3_all.deb ... 557s Unpacking libjs-sphinxdoc (7.3.7-3) ... 557s Selecting previously unselected package python3-all. 557s Preparing to unpack .../03-python3-all_3.12.3-0ubuntu1_arm64.deb ... 557s Unpacking python3-all (3.12.3-0ubuntu1) ... 557s Selecting previously unselected package python3-colorama. 557s Preparing to unpack .../04-python3-colorama_0.4.6-4_all.deb ... 557s Unpacking python3-colorama (0.4.6-4) ... 557s Selecting previously unselected package python3-click. 557s Preparing to unpack .../05-python3-click_8.1.7-2_all.deb ... 557s Unpacking python3-click (8.1.7-2) ... 557s Selecting previously unselected package python3-click-default-group. 557s Preparing to unpack .../06-python3-click-default-group_1.2.4-1_all.deb ... 557s Unpacking python3-click-default-group (1.2.4-1) ... 557s Selecting previously unselected package python3-six. 558s Preparing to unpack .../07-python3-six_1.16.0-6_all.deb ... 558s Unpacking python3-six (1.16.0-6) ... 558s Selecting previously unselected package python3-dateutil. 558s Preparing to unpack .../08-python3-dateutil_2.9.0-2_all.deb ... 558s Unpacking python3-dateutil (2.9.0-2) ... 558s Selecting previously unselected package python3-sortedcontainers. 558s Preparing to unpack .../09-python3-sortedcontainers_2.4.0-2_all.deb ... 558s Unpacking python3-sortedcontainers (2.4.0-2) ... 558s Selecting previously unselected package python3-hypothesis. 558s Preparing to unpack .../10-python3-hypothesis_6.105.1-1_all.deb ... 558s Unpacking python3-hypothesis (6.105.1-1) ... 558s Selecting previously unselected package python3-iniconfig. 558s Preparing to unpack .../11-python3-iniconfig_1.1.1-2_all.deb ... 558s Unpacking python3-iniconfig (1.1.1-2) ... 558s Selecting previously unselected package python3-packaging. 558s Preparing to unpack .../12-python3-packaging_24.1-1_all.deb ... 558s Unpacking python3-packaging (24.1-1) ... 558s Selecting previously unselected package python3-pluggy. 558s Preparing to unpack .../13-python3-pluggy_1.5.0-1_all.deb ... 558s Unpacking python3-pluggy (1.5.0-1) ... 558s Selecting previously unselected package python3-pytest. 558s Preparing to unpack .../14-python3-pytest_7.4.4-1_all.deb ... 558s Unpacking python3-pytest (7.4.4-1) ... 558s Selecting previously unselected package python3-sqlite-fts4. 559s Preparing to unpack .../15-python3-sqlite-fts4_1.0.3-2_all.deb ... 559s Unpacking python3-sqlite-fts4 (1.0.3-2) ... 559s Selecting previously unselected package python3-tabulate. 559s Preparing to unpack .../16-python3-tabulate_0.9.0-1_all.deb ... 559s Unpacking python3-tabulate (0.9.0-1) ... 559s Selecting previously unselected package sqlite-utils. 559s Preparing to unpack .../17-sqlite-utils_3.36-1_all.deb ... 559s Unpacking sqlite-utils (3.36-1) ... 559s Selecting previously unselected package autopkgtest-satdep. 559s Preparing to unpack .../18-1-autopkgtest-satdep.deb ... 559s Unpacking autopkgtest-satdep (0) ... 559s Setting up python3-iniconfig (1.1.1-2) ... 559s Setting up python3-colorama (0.4.6-4) ... 560s Setting up python3-tabulate (0.9.0-1) ... 560s Setting up python3-all (3.12.3-0ubuntu1) ... 560s Setting up python3-sortedcontainers (2.4.0-2) ... 560s Setting up python3-sqlite-fts4 (1.0.3-2) ... 560s Setting up python3-click (8.1.7-2) ... 561s Setting up python3-six (1.16.0-6) ... 561s Setting up python3-packaging (24.1-1) ... 561s Setting up python3-click-default-group (1.2.4-1) ... 561s Setting up python3-pluggy (1.5.0-1) ... 562s Setting up python3-dateutil (2.9.0-2) ... 562s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 562s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 562s Setting up python3-pytest (7.4.4-1) ... 563s Setting up python3-hypothesis (6.105.1-1) ... 563s Setting up libjs-sphinxdoc (7.3.7-3) ... 563s Setting up sqlite-utils (3.36-1) ... 564s Setting up autopkgtest-satdep (0) ... 564s Processing triggers for man-db (2.12.1-2) ... 582s (Reading database ... 79176 files and directories currently installed.) 582s Removing autopkgtest-satdep (0) ... 588s autopkgtest [01:42:05]: test run-tests: [----------------------- 594s ============================= test session starts ============================== 594s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 594s cachedir: .pytest_cache 594s hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase(PosixPath('/tmp/autopkgtest.gAebmz/autopkgtest_tmp/.hypothesis/examples')) 594s rootdir: /tmp/autopkgtest.gAebmz/autopkgtest_tmp 594s plugins: hypothesis-6.105.1 595s collecting ... collected 997 items 595s 595s tests/test_analyze.py::test_analyze_whole_database PASSED [ 0%] 595s tests/test_analyze.py::test_analyze_one_table[db_method_with_name] PASSED [ 0%] 595s tests/test_analyze.py::test_analyze_one_table[table_method] PASSED [ 0%] 595s tests/test_analyze.py::test_analyze_index_by_name PASSED [ 0%] 595s tests/test_analyze_tables.py::test_analyze_column[id-extra_kwargs0-expected0] PASSED [ 0%] 595s tests/test_analyze_tables.py::test_analyze_column[owner-extra_kwargs1-expected1] PASSED [ 0%] 595s tests/test_analyze_tables.py::test_analyze_column[size-extra_kwargs2-expected2] PASSED [ 0%] 595s tests/test_analyze_tables.py::test_analyze_column[owner-extra_kwargs3-expected3] PASSED [ 0%] 595s tests/test_analyze_tables.py::test_analyze_column[owner-extra_kwargs4-expected4] PASSED [ 0%] 595s tests/test_analyze_tables.py::test_analyze_table PASSED [ 1%] 595s tests/test_analyze_tables.py::test_analyze_table_save PASSED [ 1%] 595s tests/test_analyze_tables.py::test_analyze_table_save_no_most_no_least_options[False-False] PASSED [ 1%] 595s tests/test_analyze_tables.py::test_analyze_table_save_no_most_no_least_options[True-False] PASSED [ 1%] 595s tests/test_analyze_tables.py::test_analyze_table_save_no_most_no_least_options[False-True] PASSED [ 1%] 595s tests/test_analyze_tables.py::test_analyze_table_save_no_most_no_least_options[True-True] PASSED [ 1%] 595s tests/test_analyze_tables.py::test_analyze_table_column_all_nulls PASSED [ 1%] 595s tests/test_analyze_tables.py::test_analyze_table_validate_columns[args0-These columns were not found: bad_column\n] PASSED [ 1%] 595s tests/test_analyze_tables.py::test_analyze_table_validate_columns[args1-These columns were not found: age\n] PASSED [ 1%] 595s tests/test_analyze_tables.py::test_analyze_table_validate_columns[args2-None] PASSED [ 1%] 595s tests/test_analyze_tables.py::test_analyze_table_validate_columns[args3-These columns were not found: age, bad\n] PASSED [ 2%] 595s tests/test_attach.py::test_attach PASSED [ 2%] 595s tests/test_cli.py::test_help[options0] PASSED [ 2%] 595s tests/test_cli.py::test_help[options1] PASSED [ 2%] 595s tests/test_cli.py::test_help[options2] PASSED [ 2%] 595s tests/test_cli.py::test_help[options3] PASSED [ 2%] 595s tests/test_cli.py::test_tables PASSED [ 2%] 595s tests/test_cli.py::test_views PASSED [ 2%] 596s tests/test_cli.py::test_tables_fts4 PASSED [ 2%] 596s tests/test_cli.py::test_tables_fts5 PASSED [ 2%] 596s tests/test_cli.py::test_tables_counts_and_columns PASSED [ 3%] 596s 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%] 596s 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%] 596s tests/test_cli.py::test_tables_schema PASSED [ 3%] 596s 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%] 596s 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%] 596s 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%] 596s tests/test_cli.py::test_create_index PASSED [ 3%] 596s tests/test_cli.py::test_create_index_analyze PASSED [ 3%] 597s tests/test_cli.py::test_create_index_desc PASSED [ 3%] 597s tests/test_cli.py::test_add_column[text-TEXT-CREATE TABLE [dogs] (\n [name] TEXT\n, [text] TEXT)] PASSED [ 4%] 597s tests/test_cli.py::test_add_column[text-str-CREATE TABLE [dogs] (\n [name] TEXT\n, [text] TEXT)] PASSED [ 4%] 597s tests/test_cli.py::test_add_column[text-STR-CREATE TABLE [dogs] (\n [name] TEXT\n, [text] TEXT)] PASSED [ 4%] 597s tests/test_cli.py::test_add_column[integer-INTEGER-CREATE TABLE [dogs] (\n [name] TEXT\n, [integer] INTEGER)] PASSED [ 4%] 597s tests/test_cli.py::test_add_column[integer-int-CREATE TABLE [dogs] (\n [name] TEXT\n, [integer] INTEGER)] PASSED [ 4%] 597s tests/test_cli.py::test_add_column[float-FLOAT-CREATE TABLE [dogs] (\n [name] TEXT\n, [float] FLOAT)] PASSED [ 4%] 597s tests/test_cli.py::test_add_column[blob-blob-CREATE TABLE [dogs] (\n [name] TEXT\n, [blob] BLOB)] PASSED [ 4%] 597s tests/test_cli.py::test_add_column[blob-BLOB-CREATE TABLE [dogs] (\n [name] TEXT\n, [blob] BLOB)] PASSED [ 4%] 597s tests/test_cli.py::test_add_column[blob-bytes-CREATE TABLE [dogs] (\n [name] TEXT\n, [blob] BLOB)] PASSED [ 4%] 597s tests/test_cli.py::test_add_column[blob-BYTES-CREATE TABLE [dogs] (\n [name] TEXT\n, [blob] BLOB)] PASSED [ 4%] 597s tests/test_cli.py::test_add_column[default-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [default] TEXT)] PASSED [ 5%] 597s tests/test_cli.py::test_add_column_ignore[True] PASSED [ 5%] 597s tests/test_cli.py::test_add_column_ignore[False] PASSED [ 5%] 597s tests/test_cli.py::test_add_column_not_null_default PASSED [ 5%] 597s tests/test_cli.py::test_add_foreign_key[args0-Explicit other_table and other_column] PASSED [ 5%] 597s tests/test_cli.py::test_add_foreign_key[args1-Explicit other_table, guess other_column] PASSED [ 5%] 597s tests/test_cli.py::test_add_foreign_key[args2-Automatically guess other_table and other_column] PASSED [ 5%] 597s tests/test_cli.py::test_add_column_foreign_key PASSED [ 5%] 597s tests/test_cli.py::test_suggest_alter_if_column_missing PASSED [ 5%] 597s tests/test_cli.py::test_index_foreign_keys PASSED [ 5%] 598s tests/test_cli.py::test_enable_fts PASSED [ 6%] 598s tests/test_cli.py::test_enable_fts_replace PASSED [ 6%] 598s tests/test_cli.py::test_enable_fts_with_triggers PASSED [ 6%] 598s tests/test_cli.py::test_populate_fts PASSED [ 6%] 598s tests/test_cli.py::test_disable_fts PASSED [ 6%] 598s tests/test_cli.py::test_vacuum PASSED [ 6%] 598s tests/test_cli.py::test_dump PASSED [ 6%] 600s tests/test_cli.py::test_optimize[tables0] PASSED [ 6%] 603s tests/test_cli.py::test_optimize[tables1] PASSED [ 6%] 605s tests/test_cli.py::test_optimize[tables2] PASSED [ 6%] 607s tests/test_cli.py::test_rebuild_fts_fixes_docsize_error PASSED [ 7%] 607s tests/test_cli.py::test_query_csv[--csv-id,name,age\n1,Cleo,4\n2,Pancakes,2\n] PASSED [ 7%] 607s tests/test_cli.py::test_query_csv[--tsv-id\tname\tage\n1\tCleo\t4\n2\tPancakes\t2\n] PASSED [ 7%] 607s 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%] 607s 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%] 607s tests/test_cli.py::test_query_json[select id, name, age from dogs-args2-[[1, "Cleo", 4],\n [2, "Pancakes", 2]]] PASSED [ 7%] 607s tests/test_cli.py::test_query_json[select id, name, age from dogs-args3-[1, "Cleo", 4]\n[2, "Pancakes", 2]] PASSED [ 7%] 607s 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%] 607s 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%] 607s tests/test_cli.py::test_query_json[select id, name, age from dogs where id = 1-args6-[[1, "Cleo", 4]]] PASSED [ 7%] 607s tests/test_cli.py::test_query_json[select id, name, age from dogs where id = 1-args7-[1, "Cleo", 4]] PASSED [ 8%] 608s 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%] 608s tests/test_cli.py::test_query_json_empty PASSED [ 8%] 608s tests/test_cli.py::test_query_invalid_function PASSED [ 8%] 608s tests/test_cli.py::test_query_complex_function PASSED [ 8%] 608s tests/test_cli.py::test_hidden_functions_are_hidden PASSED [ 8%] 608s tests/test_cli.py::test_query_json_binary PASSED [ 8%] 608s tests/test_cli.py::test_query_params[select 1 + 1 as out-params0-2] PASSED [ 8%] 608s tests/test_cli.py::test_query_params[select 1 + :p as out-params1-3] PASSED [ 8%] 608s tests/test_cli.py::test_query_params[select :hello as out-params2-This"has'many'quote"s] PASSED [ 8%] 608s tests/test_cli.py::test_query_json_with_json_cols PASSED [ 9%] 608s tests/test_cli.py::test_query_raw[\x00\x0fbinary-True] PASSED [ 9%] 608s tests/test_cli.py::test_query_raw[this is text-False] PASSED [ 9%] 608s tests/test_cli.py::test_query_raw[1-False] PASSED [ 9%] 608s tests/test_cli.py::test_query_raw[1.5-False] PASSED [ 9%] 608s tests/test_cli.py::test_query_raw_lines[\x00\x0fbinary-True] PASSED [ 9%] 608s tests/test_cli.py::test_query_raw_lines[this is text-False] PASSED [ 9%] 608s tests/test_cli.py::test_query_raw_lines[1-False] PASSED [ 9%] 608s tests/test_cli.py::test_query_raw_lines[1.5-False] PASSED [ 9%] 608s tests/test_cli.py::test_query_memory_does_not_create_file PASSED [ 9%] 608s tests/test_cli.py::test_rows[args0-[{"id": 1, "name": "Cleo", "age": 4},\n {"id": 2, "name": "Pancakes", "age": 2}]] PASSED [ 10%] 608s tests/test_cli.py::test_rows[args1-{"id": 1, "name": "Cleo", "age": 4}\n{"id": 2, "name": "Pancakes", "age": 2}] PASSED [ 10%] 608s tests/test_cli.py::test_rows[args2-[[1, "Cleo", 4],\n [2, "Pancakes", 2]]] PASSED [ 10%] 608s tests/test_cli.py::test_rows[args3-[1, "Cleo", 4]\n[2, "Pancakes", 2]] PASSED [ 10%] 608s tests/test_cli.py::test_rows[args4-{"age": 4, "name": "Cleo"}\n{"age": 2, "name": "Pancakes"}] PASSED [ 10%] 608s tests/test_cli.py::test_rows[args5-[{"name": "Cleo"}]] PASSED [ 10%] 608s tests/test_cli.py::test_rows[args6-[{"name": "Pancakes"}]] PASSED [ 10%] 608s tests/test_cli.py::test_rows[args7-[{"name": "Cleo"}]] PASSED [ 10%] 608s tests/test_cli.py::test_rows[args8-[{"name": "Cleo"}]] PASSED [ 10%] 608s tests/test_cli.py::test_rows[args9-[{"name": "Cleo"}]] PASSED [ 10%] 608s tests/test_cli.py::test_rows[args10-[{"id": 2}]] PASSED [ 11%] 608s tests/test_cli.py::test_rows[args11-[{"id": 1}]] PASSED [ 11%] 608s tests/test_cli.py::test_upsert PASSED [ 11%] 608s tests/test_cli.py::test_upsert_pk_required PASSED [ 11%] 608s tests/test_cli.py::test_upsert_analyze PASSED [ 11%] 608s tests/test_cli.py::test_upsert_flatten PASSED [ 11%] 608s tests/test_cli.py::test_upsert_alter PASSED [ 11%] 608s tests/test_cli.py::test_create_table[args0-CREATE TABLE [t] (\n [name] TEXT,\n [age] INTEGER\n)] PASSED [ 11%] 608s 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%] 608s tests/test_cli.py::test_create_table[args2-CREATE TABLE [t] (\n [name] TEXT NOT NULL\n)] PASSED [ 11%] 608s tests/test_cli.py::test_create_table[args3-CREATE TABLE [t] (\n [age] INTEGER DEFAULT '3'\n)] PASSED [ 12%] 608s tests/test_cli.py::test_create_table_foreign_key PASSED [ 12%] 608s tests/test_cli.py::test_create_table_error_if_table_exists PASSED [ 12%] 608s tests/test_cli.py::test_create_table_ignore PASSED [ 12%] 608s tests/test_cli.py::test_create_table_replace PASSED [ 12%] 608s tests/test_cli.py::test_create_view PASSED [ 12%] 608s tests/test_cli.py::test_create_view_error_if_view_exists PASSED [ 12%] 608s tests/test_cli.py::test_create_view_ignore PASSED [ 12%] 608s tests/test_cli.py::test_create_view_replace PASSED [ 12%] 608s tests/test_cli.py::test_drop_table PASSED [ 12%] 608s tests/test_cli.py::test_drop_table_error PASSED [ 13%] 608s tests/test_cli.py::test_drop_view PASSED [ 13%] 608s tests/test_cli.py::test_drop_view_error PASSED [ 13%] 609s tests/test_cli.py::test_enable_wal PASSED [ 13%] 609s tests/test_cli.py::test_disable_wal PASSED [ 13%] 609s tests/test_cli.py::test_query_update[args0-[{"rows_affected": 1}]] PASSED [ 13%] 609s tests/test_cli.py::test_query_update[args1-rows_affected\n---------------\n 1] PASSED [ 13%] 609s tests/test_cli.py::test_add_foreign_keys PASSED [ 13%] 609s 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%] 609s 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%] 609s tests/test_cli.py::test_transform[args2-CREATE TABLE "dogs" (\n [id] INTEGER PRIMARY KEY,\n [name] TEXT\n)] PASSED [ 14%] 609s 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%] 609s 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%] 609s 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%] 609s 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%] 609s 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%] 609s 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%] 609s 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%] 609s 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%] 609s 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%] 609s 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%] 609s 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%] 609s 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%] 609s 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%] 609s 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%] 609s 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%] 609s tests/test_cli.py::test_insert_encoding PASSED [ 15%] 609s tests/test_cli.py::test_search[None-[{"rowid": 2, "id": 2, "title": "Title the second"}]\n-FTS4] PASSED [ 15%] 610s tests/test_cli.py::test_search[None-[{"rowid": 2, "id": 2, "title": "Title the second"}]\n-FTS5] PASSED [ 15%] 610s tests/test_cli.py::test_search[--csv-rowid,id,title\n2,2,Title the second\n-FTS4] PASSED [ 15%] 610s tests/test_cli.py::test_search[--csv-rowid,id,title\n2,2,Title the second\n-FTS5] PASSED [ 16%] 610s tests/test_cli.py::test_search_quote PASSED [ 16%] 610s tests/test_cli.py::test_indexes PASSED [ 16%] 610s 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%] 610s 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%] 610s tests/test_cli.py::test_triggers[extra_args2-[]\n] PASSED [ 16%] 610s 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%] 610s tests/test_cli.py::test_schema[options1-CREATE TABLE [dogs] (\n [id] INTEGER,\n [name] TEXT\n)\n] PASSED [ 16%] 610s 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%] 610s tests/test_cli.py::test_long_csv_column_value PASSED [ 16%] 610s tests/test_cli.py::test_import_no_headers[args0-False] PASSED [ 17%] 610s tests/test_cli.py::test_import_no_headers[args1-False] PASSED [ 17%] 610s tests/test_cli.py::test_import_no_headers[args2-True] PASSED [ 17%] 610s tests/test_cli.py::test_attach PASSED [ 17%] 610s tests/test_cli.py::test_csv_insert_bom PASSED [ 17%] 610s tests/test_cli.py::test_insert_detect_types[None] PASSED [ 17%] 610s tests/test_cli.py::test_insert_detect_types[-d] PASSED [ 17%] 610s tests/test_cli.py::test_insert_detect_types[--detect-types] PASSED [ 17%] 610s tests/test_cli.py::test_upsert_detect_types[-d] PASSED [ 17%] 610s tests/test_cli.py::test_upsert_detect_types[--detect-types] PASSED [ 17%] 610s tests/test_cli.py::test_integer_overflow_error PASSED [ 18%] 610s tests/test_cli.py::test_python_dash_m PASSED [ 18%] 610s tests/test_cli.py::test_create_database[False] PASSED [ 18%] 610s tests/test_cli.py::test_create_database[True] PASSED [ 18%] 610s tests/test_cli.py::test_analyze[options0-expected0] PASSED [ 18%] 610s tests/test_cli.py::test_analyze[options1-expected1] PASSED [ 18%] 610s tests/test_cli.py::test_analyze[options2-expected2] PASSED [ 18%] 610s tests/test_cli.py::test_rename_table PASSED [ 18%] 610s tests/test_cli.py::test_duplicate_table PASSED [ 18%] 610s tests/test_cli.py::test_load_extension[None-should_pass0-should_fail0] SKIPPED [ 18%] 610s tests/test_cli.py::test_load_extension[sqlite3_ext_b_init-b-should_fail1] SKIPPED [ 19%] 610s tests/test_cli.py::test_load_extension[sqlite3_ext_c_init-c-should_fail2] SKIPPED [ 19%] 610s tests/test_cli.py::test_create_table_strict[False] PASSED [ 19%] 610s tests/test_cli.py::test_create_table_strict[True] PASSED [ 19%] 610s tests/test_cli.py::test_insert_upsert_strict[False-insert] PASSED [ 19%] 610s tests/test_cli.py::test_insert_upsert_strict[False-upsert] PASSED [ 19%] 610s tests/test_cli.py::test_insert_upsert_strict[True-insert] PASSED [ 19%] 610s tests/test_cli.py::test_insert_upsert_strict[True-upsert] PASSED [ 19%] 610s tests/test_cli_bulk.py::test_cli_bulk PASSED [ 19%] 612s tests/test_cli_bulk.py::test_cli_bulk_batch_size PASSED [ 19%] 612s tests/test_cli_bulk.py::test_cli_bulk_error PASSED [ 20%] 613s tests/test_cli_convert.py::test_convert_code[return value.replace('October', 'Spooktober')] PASSED [ 20%] 613s tests/test_cli_convert.py::test_convert_code[value.replace('October', 'Spooktober')] PASSED [ 20%] 613s tests/test_cli_convert.py::test_convert_code[v = value.replace('October', 'Spooktober')\nreturn v] PASSED [ 20%] 613s tests/test_cli_convert.py::test_convert_code[def convert(value): return value.replace('October', 'Spooktober')] PASSED [ 20%] 613s tests/test_cli_convert.py::test_convert_code[import re\n\ndef convert(value): return value.replace('October', 'Spooktober')] PASSED [ 20%] 613s tests/test_cli_convert.py::test_convert_code_errors[def foo(value)] PASSED [ 20%] 613s tests/test_cli_convert.py::test_convert_code_errors[$] PASSED [ 20%] 613s tests/test_cli_convert.py::test_convert_import PASSED [ 20%] 613s tests/test_cli_convert.py::test_convert_import_nested PASSED [ 20%] 613s tests/test_cli_convert.py::test_convert_dryrun PASSED [ 21%] 613s tests/test_cli_convert.py::test_convert_multi_dryrun PASSED [ 21%] 613s tests/test_cli_convert.py::test_convert_output_column[True] PASSED [ 21%] 613s tests/test_cli_convert.py::test_convert_output_column[False] PASSED [ 21%] 613s tests/test_cli_convert.py::test_convert_output_column_output_type[text-expected0] PASSED [ 21%] 613s tests/test_cli_convert.py::test_convert_output_column_output_type[float-expected1] PASSED [ 21%] 613s tests/test_cli_convert.py::test_convert_output_column_output_type[integer-expected2] PASSED [ 21%] 613s tests/test_cli_convert.py::test_convert_output_column_output_type[None-expected3] PASSED [ 21%] 613s tests/test_cli_convert.py::test_convert_output_error[options0-Cannot use --output with more than one column] PASSED [ 21%] 613s tests/test_cli_convert.py::test_convert_output_error[options1-Error: Invalid value for '--output-type'] PASSED [ 21%] 613s tests/test_cli_convert.py::test_convert_output_error[options2-Missing argument 'COLUMNS...'] PASSED [ 22%] 613s tests/test_cli_convert.py::test_convert_multi[True] PASSED [ 22%] 613s tests/test_cli_convert.py::test_convert_multi[False] PASSED [ 22%] 613s tests/test_cli_convert.py::test_convert_multi_complex_column_types PASSED [ 22%] 613s tests/test_cli_convert.py::test_recipe_jsonsplit[None] PASSED [ 22%] 613s tests/test_cli_convert.py::test_recipe_jsonsplit[;] PASSED [ 22%] 613s tests/test_cli_convert.py::test_recipe_jsonsplit[-] PASSED [ 22%] 613s tests/test_cli_convert.py::test_recipe_jsonsplit_type[None-expected_array0] PASSED [ 22%] 613s tests/test_cli_convert.py::test_recipe_jsonsplit_type[float-expected_array1] PASSED [ 22%] 613s tests/test_cli_convert.py::test_recipe_jsonsplit_type[int-expected_array2] PASSED [ 22%] 613s tests/test_cli_convert.py::test_recipe_jsonsplit_output[True] PASSED [ 23%] 613s tests/test_cli_convert.py::test_recipe_jsonsplit_output[False] PASSED [ 23%] 613s tests/test_cli_convert.py::test_cannot_use_drop_without_multi_or_output PASSED [ 23%] 613s tests/test_cli_convert.py::test_cannot_use_multi_with_more_than_one_column PASSED [ 23%] 613s tests/test_cli_convert.py::test_multi_with_bad_function PASSED [ 23%] 613s tests/test_cli_convert.py::test_convert_where PASSED [ 23%] 613s tests/test_cli_convert.py::test_convert_where_multi PASSED [ 23%] 613s tests/test_cli_convert.py::test_convert_code_standard_input PASSED [ 23%] 613s tests/test_cli_convert.py::test_convert_hyphen_workaround PASSED [ 23%] 613s tests/test_cli_convert.py::test_convert_initialization_pattern PASSED [ 23%] 613s tests/test_cli_convert.py::test_convert_no_skip_false[True-1] PASSED [ 24%] 613s tests/test_cli_convert.py::test_convert_no_skip_false[False-0] PASSED [ 24%] 613s tests/test_cli_insert.py::test_insert_simple PASSED [ 24%] 613s tests/test_cli_insert.py::test_insert_from_stdin PASSED [ 24%] 613s tests/test_cli_insert.py::test_insert_invalid_json_error PASSED [ 24%] 613s tests/test_cli_insert.py::test_insert_json_flatten PASSED [ 24%] 613s tests/test_cli_insert.py::test_insert_json_flatten_nl PASSED [ 24%] 614s tests/test_cli_insert.py::test_insert_with_primary_key PASSED [ 24%] 614s tests/test_cli_insert.py::test_insert_multiple_with_primary_key PASSED [ 24%] 614s tests/test_cli_insert.py::test_insert_multiple_with_compound_primary_key PASSED [ 24%] 614s tests/test_cli_insert.py::test_insert_not_null_default PASSED [ 25%] 614s tests/test_cli_insert.py::test_insert_binary_base64 PASSED [ 25%] 614s tests/test_cli_insert.py::test_insert_newline_delimited PASSED [ 25%] 614s tests/test_cli_insert.py::test_insert_ignore PASSED [ 25%] 614s tests/test_cli_insert.py::test_insert_csv_tsv[foo\tbar\tbaz\n1\t2\tcat,dog-options0] PASSED [ 25%] 614s tests/test_cli_insert.py::test_insert_csv_tsv[foo,bar,baz\n1,2,"cat,dog"-options1] PASSED [ 25%] 614s tests/test_cli_insert.py::test_insert_csv_tsv[foo;bar;baz\n1;2;"cat,dog"-options2] PASSED [ 25%] 614s tests/test_cli_insert.py::test_insert_csv_tsv[foo;bar;baz\n1;2;"cat,dog"-options3] PASSED [ 25%] 614s tests/test_cli_insert.py::test_insert_csv_tsv[foo,bar,baz\n1,2,|cat,dog|-options4] PASSED [ 25%] 614s tests/test_cli_insert.py::test_insert_csv_tsv[foo,bar,baz\n1,2,|cat,dog|-options5] PASSED [ 25%] 614s tests/test_cli_insert.py::test_insert_csv_empty_null[True] PASSED [ 26%] 614s tests/test_cli_insert.py::test_insert_csv_empty_null[False] PASSED [ 26%] 614s tests/test_cli_insert.py::test_insert_stop_after[[{"name": "One"}, {"name": "Two"}, {"name": "Three"}, {"name": "Four"}]-args0] PASSED [ 26%] 614s tests/test_cli_insert.py::test_insert_stop_after[name\nOne\nTwo\nThree\nFour\n-args1] PASSED [ 26%] 614s tests/test_cli_insert.py::test_only_allow_one_of_nl_tsv_csv[options0] PASSED [ 26%] 614s tests/test_cli_insert.py::test_only_allow_one_of_nl_tsv_csv[options1] PASSED [ 26%] 614s tests/test_cli_insert.py::test_only_allow_one_of_nl_tsv_csv[options2] PASSED [ 26%] 614s tests/test_cli_insert.py::test_only_allow_one_of_nl_tsv_csv[options3] PASSED [ 26%] 614s tests/test_cli_insert.py::test_insert_replace PASSED [ 26%] 614s tests/test_cli_insert.py::test_insert_truncate PASSED [ 26%] 614s tests/test_cli_insert.py::test_insert_alter PASSED [ 27%] 614s tests/test_cli_insert.py::test_insert_analyze PASSED [ 27%] 614s tests/test_cli_insert.py::test_insert_lines PASSED [ 27%] 614s tests/test_cli_insert.py::test_insert_text PASSED [ 27%] 614s tests/test_cli_insert.py::test_insert_convert_json_csv_jsonnl[options0-[{"id": "1", "name": "Bob"}, {"id": "2", "name": "Cat"}]] PASSED [ 27%] 614s tests/test_cli_insert.py::test_insert_convert_json_csv_jsonnl[options1-id,name\n1,Bob\n2,Cat] PASSED [ 27%] 614s tests/test_cli_insert.py::test_insert_convert_json_csv_jsonnl[options2-{"id": "1", "name": "Bob"}\n{"id": "2", "name": "Cat"}] PASSED [ 27%] 614s tests/test_cli_insert.py::test_insert_convert_text PASSED [ 27%] 614s tests/test_cli_insert.py::test_insert_convert_text_returning_iterator PASSED [ 27%] 614s tests/test_cli_insert.py::test_insert_convert_lines PASSED [ 27%] 614s tests/test_cli_insert.py::test_insert_convert_row_modifying_in_place PASSED [ 28%] 614s tests/test_cli_insert.py::test_insert_convert_error_messages[options0-Error: --convert must return dict or iterator\n] PASSED [ 28%] 614s tests/test_cli_insert.py::test_insert_convert_error_messages[options1-Error: Rows must all be dictionaries, got: 1\n] PASSED [ 28%] 615s tests/test_cli_insert.py::test_insert_streaming_batch_size_1 PASSED [ 28%] 615s tests/test_cli_memory.py::test_memory_basic PASSED [ 28%] 615s tests/test_cli_memory.py::test_memory_csv[True-test] PASSED [ 28%] 615s tests/test_cli_memory.py::test_memory_csv[True-t] PASSED [ 28%] 615s tests/test_cli_memory.py::test_memory_csv[True-t1] PASSED [ 28%] 615s tests/test_cli_memory.py::test_memory_csv[False-test] PASSED [ 28%] 615s tests/test_cli_memory.py::test_memory_csv[False-t] PASSED [ 28%] 615s tests/test_cli_memory.py::test_memory_csv[False-t1] PASSED [ 29%] 615s tests/test_cli_memory.py::test_memory_tsv[True] PASSED [ 29%] 615s tests/test_cli_memory.py::test_memory_tsv[False] PASSED [ 29%] 615s tests/test_cli_memory.py::test_memory_json[True] PASSED [ 29%] 615s tests/test_cli_memory.py::test_memory_json[False] PASSED [ 29%] 615s tests/test_cli_memory.py::test_memory_json_nl[True] PASSED [ 29%] 615s tests/test_cli_memory.py::test_memory_json_nl[False] PASSED [ 29%] 615s tests/test_cli_memory.py::test_memory_csv_encoding[True] PASSED [ 29%] 615s tests/test_cli_memory.py::test_memory_csv_encoding[False] PASSED [ 29%] 615s tests/test_cli_memory.py::test_memory_dump[extra_args0] PASSED [ 29%] 615s tests/test_cli_memory.py::test_memory_dump[extra_args1] PASSED [ 30%] 615s tests/test_cli_memory.py::test_memory_schema[extra_args0] PASSED [ 30%] 615s tests/test_cli_memory.py::test_memory_schema[extra_args1] PASSED [ 30%] 615s tests/test_cli_memory.py::test_memory_save[extra_args0] PASSED [ 30%] 615s tests/test_cli_memory.py::test_memory_save[extra_args1] PASSED [ 30%] 615s tests/test_cli_memory.py::test_memory_no_detect_types[-n] PASSED [ 30%] 615s tests/test_cli_memory.py::test_memory_no_detect_types[--no-detect-types] PASSED [ 30%] 615s tests/test_cli_memory.py::test_memory_flatten PASSED [ 30%] 615s tests/test_cli_memory.py::test_memory_analyze PASSED [ 30%] 615s tests/test_cli_memory.py::test_memory_two_files_with_same_stem PASSED [ 30%] 615s tests/test_cli_memory.py::test_memory_functions PASSED [ 31%] 615s tests/test_column_affinity.py::test_column_affinity[INT-int] PASSED [ 31%] 615s tests/test_column_affinity.py::test_column_affinity[INTEGER-int] PASSED [ 31%] 615s tests/test_column_affinity.py::test_column_affinity[TINYINT-int] PASSED [ 31%] 615s tests/test_column_affinity.py::test_column_affinity[SMALLINT-int] PASSED [ 31%] 615s tests/test_column_affinity.py::test_column_affinity[MEDIUMINT-int] PASSED [ 31%] 615s tests/test_column_affinity.py::test_column_affinity[BIGINT-int] PASSED [ 31%] 615s tests/test_column_affinity.py::test_column_affinity[UNSIGNED BIG INT-int] PASSED [ 31%] 615s tests/test_column_affinity.py::test_column_affinity[INT2-int] PASSED [ 31%] 615s tests/test_column_affinity.py::test_column_affinity[INT8-int] PASSED [ 31%] 615s tests/test_column_affinity.py::test_column_affinity[CHARACTER(20)-str] PASSED [ 32%] 615s tests/test_column_affinity.py::test_column_affinity[VARCHAR(255)-str] PASSED [ 32%] 615s tests/test_column_affinity.py::test_column_affinity[VARYING CHARACTER(255)-str] PASSED [ 32%] 615s tests/test_column_affinity.py::test_column_affinity[NCHAR(55)-str] PASSED [ 32%] 615s tests/test_column_affinity.py::test_column_affinity[NATIVE CHARACTER(70)-str] PASSED [ 32%] 615s tests/test_column_affinity.py::test_column_affinity[NVARCHAR(100)-str] PASSED [ 32%] 615s tests/test_column_affinity.py::test_column_affinity[TEXT-str] PASSED [ 32%] 615s tests/test_column_affinity.py::test_column_affinity[CLOB-str] PASSED [ 32%] 615s tests/test_column_affinity.py::test_column_affinity[BLOB-bytes] PASSED [ 32%] 615s tests/test_column_affinity.py::test_column_affinity[REAL-float] PASSED [ 32%] 615s tests/test_column_affinity.py::test_column_affinity[DOUBLE-float] PASSED [ 33%] 615s tests/test_column_affinity.py::test_column_affinity[DOUBLE PRECISION-float] PASSED [ 33%] 615s tests/test_column_affinity.py::test_column_affinity[FLOAT-float] PASSED [ 33%] 615s tests/test_column_affinity.py::test_column_affinity[NUMERIC-float] PASSED [ 33%] 615s tests/test_column_affinity.py::test_column_affinity[DECIMAL(10,5)-float] PASSED [ 33%] 615s tests/test_column_affinity.py::test_column_affinity[BOOLEAN-float] PASSED [ 33%] 615s tests/test_column_affinity.py::test_column_affinity[DATE-float] PASSED [ 33%] 615s tests/test_column_affinity.py::test_column_affinity[DATETIME-float] PASSED [ 33%] 615s tests/test_column_affinity.py::test_columns_dict[INT-int] PASSED [ 33%] 615s tests/test_column_affinity.py::test_columns_dict[INTEGER-int] PASSED [ 34%] 615s tests/test_column_affinity.py::test_columns_dict[TINYINT-int] PASSED [ 34%] 615s tests/test_column_affinity.py::test_columns_dict[SMALLINT-int] PASSED [ 34%] 615s tests/test_column_affinity.py::test_columns_dict[MEDIUMINT-int] PASSED [ 34%] 615s tests/test_column_affinity.py::test_columns_dict[BIGINT-int] PASSED [ 34%] 615s tests/test_column_affinity.py::test_columns_dict[UNSIGNED BIG INT-int] PASSED [ 34%] 615s tests/test_column_affinity.py::test_columns_dict[INT2-int] PASSED [ 34%] 615s tests/test_column_affinity.py::test_columns_dict[INT8-int] PASSED [ 34%] 615s tests/test_column_affinity.py::test_columns_dict[CHARACTER(20)-str] PASSED [ 34%] 615s tests/test_column_affinity.py::test_columns_dict[VARCHAR(255)-str] PASSED [ 34%] 615s tests/test_column_affinity.py::test_columns_dict[VARYING CHARACTER(255)-str] PASSED [ 35%] 615s tests/test_column_affinity.py::test_columns_dict[NCHAR(55)-str] PASSED [ 35%] 615s tests/test_column_affinity.py::test_columns_dict[NATIVE CHARACTER(70)-str] PASSED [ 35%] 615s tests/test_column_affinity.py::test_columns_dict[NVARCHAR(100)-str] PASSED [ 35%] 615s tests/test_column_affinity.py::test_columns_dict[TEXT-str] PASSED [ 35%] 615s tests/test_column_affinity.py::test_columns_dict[CLOB-str] PASSED [ 35%] 615s tests/test_column_affinity.py::test_columns_dict[BLOB-bytes] PASSED [ 35%] 615s tests/test_column_affinity.py::test_columns_dict[REAL-float] PASSED [ 35%] 615s tests/test_column_affinity.py::test_columns_dict[DOUBLE-float] PASSED [ 35%] 615s tests/test_column_affinity.py::test_columns_dict[DOUBLE PRECISION-float] PASSED [ 35%] 615s tests/test_column_affinity.py::test_columns_dict[FLOAT-float] PASSED [ 36%] 615s tests/test_column_affinity.py::test_columns_dict[NUMERIC-float] PASSED [ 36%] 615s tests/test_column_affinity.py::test_columns_dict[DECIMAL(10,5)-float] PASSED [ 36%] 615s tests/test_column_affinity.py::test_columns_dict[BOOLEAN-float] PASSED [ 36%] 615s tests/test_column_affinity.py::test_columns_dict[DATE-float] PASSED [ 36%] 615s tests/test_column_affinity.py::test_columns_dict[DATETIME-float] PASSED [ 36%] 615s tests/test_constructor.py::test_recursive_triggers PASSED [ 36%] 615s tests/test_constructor.py::test_recursive_triggers_off PASSED [ 36%] 615s tests/test_constructor.py::test_memory_name PASSED [ 36%] 615s tests/test_constructor.py::test_sqlite_version PASSED [ 36%] 615s tests/test_constructor.py::test_database_close[True] PASSED [ 37%] 615s tests/test_constructor.py::test_database_close[False] PASSED [ 37%] 615s tests/test_conversions.py::test_insert_conversion PASSED [ 37%] 615s tests/test_conversions.py::test_insert_all_conversion PASSED [ 37%] 615s tests/test_conversions.py::test_upsert_conversion PASSED [ 37%] 615s tests/test_conversions.py::test_upsert_all_conversion PASSED [ 37%] 615s tests/test_conversions.py::test_update_conversion PASSED [ 37%] 615s tests/test_conversions.py::test_table_constructor_conversion PASSED [ 37%] 615s tests/test_convert.py::test_convert[title--expected0] PASSED [ 37%] 615s tests/test_convert.py::test_convert[columns1--expected1] PASSED [ 37%] 615s tests/test_convert.py::test_convert[title--expected2] PASSED [ 38%] 615s tests/test_convert.py::test_convert_where[id > 1-None] PASSED [ 38%] 615s tests/test_convert.py::test_convert_where[id > :id-where_args1] PASSED [ 38%] 615s tests/test_convert.py::test_convert_where[id > ?-where_args2] PASSED [ 38%] 615s tests/test_convert.py::test_convert_skip_false PASSED [ 38%] 615s tests/test_convert.py::test_convert_output[False-expected0] PASSED [ 38%] 615s tests/test_convert.py::test_convert_output[True-expected1] PASSED [ 38%] 615s tests/test_convert.py::test_convert_output_multiple_column_error PASSED [ 38%] 615s tests/test_convert.py::test_convert_output_type[int-expected0] PASSED [ 38%] 615s tests/test_convert.py::test_convert_output_type[float-expected1] PASSED [ 38%] 615s tests/test_convert.py::test_convert_multi PASSED [ 39%] 615s tests/test_convert.py::test_convert_multi_where PASSED [ 39%] 615s tests/test_convert.py::test_convert_multi_exception PASSED [ 39%] 615s tests/test_convert.py::test_convert_repeated PASSED [ 39%] 615s tests/test_create.py::test_create_table PASSED [ 39%] 615s tests/test_create.py::test_create_table_compound_primary_key PASSED [ 39%] 615s tests/test_create.py::test_create_table_with_single_primary_key[id] PASSED [ 39%] 615s tests/test_create.py::test_create_table_with_single_primary_key[pk1] PASSED [ 39%] 615s tests/test_create.py::test_create_table_with_invalid_column_characters PASSED [ 39%] 615s tests/test_create.py::test_create_table_with_defaults PASSED [ 39%] 615s tests/test_create.py::test_create_table_with_bad_not_null PASSED [ 40%] 615s tests/test_create.py::test_create_table_with_not_null PASSED [ 40%] 615s tests/test_create.py::test_create_table_from_example[example0-expected_columns0] PASSED [ 40%] 615s tests/test_create.py::test_create_table_from_example[example1-expected_columns1] PASSED [ 40%] 615s tests/test_create.py::test_create_table_from_example[example2-expected_columns2] PASSED [ 40%] 615s tests/test_create.py::test_create_table_from_example[example3-expected_columns3] PASSED [ 40%] 615s tests/test_create.py::test_create_table_from_example[example4-expected_columns4] PASSED [ 40%] 615s tests/test_create.py::test_create_table_from_example[example5-expected_columns5] PASSED [ 40%] 615s tests/test_create.py::test_create_table_from_example[example6-expected_columns6] PASSED [ 40%] 615s tests/test_create.py::test_create_table_from_example[example7-expected_columns7] PASSED [ 40%] 615s tests/test_create.py::test_create_table_from_example_with_compound_primary_keys PASSED [ 41%] 615s tests/test_create.py::test_create_table_with_custom_columns[insert] PASSED [ 41%] 615s tests/test_create.py::test_create_table_with_custom_columns[upsert] PASSED [ 41%] 615s tests/test_create.py::test_create_table_with_custom_columns[insert_all] PASSED [ 41%] 615s tests/test_create.py::test_create_table_with_custom_columns[upsert_all] PASSED [ 41%] 615s tests/test_create.py::test_create_table_column_order[True] PASSED [ 41%] 615s tests/test_create.py::test_create_table_column_order[False] PASSED [ 41%] 615s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[True-foreign_key_specification0-False] PASSED [ 41%] 615s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[True-foreign_key_specification1-False] PASSED [ 41%] 615s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[True-foreign_key_specification2-False] PASSED [ 41%] 615s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[True-foreign_key_specification3-False] PASSED [ 42%] 615s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[True-foreign_key_specification4-NoObviousTable] PASSED [ 42%] 615s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[True-foreign_key_specification5-AssertionError] PASSED [ 42%] 615s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[True-foreign_key_specification6-AlterError] PASSED [ 42%] 615s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[True-foreign_key_specification7-AssertionError] PASSED [ 42%] 615s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[False-foreign_key_specification0-False] PASSED [ 42%] 615s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[False-foreign_key_specification1-False] PASSED [ 42%] 615s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[False-foreign_key_specification2-False] PASSED [ 42%] 615s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[False-foreign_key_specification3-False] PASSED [ 42%] 615s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[False-foreign_key_specification4-NoObviousTable] PASSED [ 42%] 615s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[False-foreign_key_specification5-AssertionError] PASSED [ 43%] 615s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[False-foreign_key_specification6-AlterError] PASSED [ 43%] 615s tests/test_create.py::test_create_table_works_for_m2m_with_only_foreign_keys[False-foreign_key_specification7-AssertionError] PASSED [ 43%] 615s tests/test_create.py::test_self_referential_foreign_key PASSED [ 43%] 615s tests/test_create.py::test_create_error_if_invalid_foreign_keys PASSED [ 43%] 615s tests/test_create.py::test_create_error_if_invalid_self_referential_foreign_keys PASSED [ 43%] 615s tests/test_create.py::test_add_column[nickname-str-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [nickname] TEXT)] PASSED [ 43%] 615s tests/test_create.py::test_add_column[dob-date-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [dob] TEXT)] PASSED [ 43%] 615s tests/test_create.py::test_add_column[age-int-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [age] INTEGER)] PASSED [ 43%] 615s tests/test_create.py::test_add_column[weight-float-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [weight] FLOAT)] PASSED [ 43%] 615s tests/test_create.py::test_add_column[text-TEXT-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [text] TEXT)] PASSED [ 44%] 615s tests/test_create.py::test_add_column[integer-INTEGER-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [integer] INTEGER)] PASSED [ 44%] 615s tests/test_create.py::test_add_column[float-FLOAT-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [float] FLOAT)] PASSED [ 44%] 615s tests/test_create.py::test_add_column[blob-blob-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [blob] BLOB)] PASSED [ 44%] 615s tests/test_create.py::test_add_column[default_str-None-None-CREATE TABLE [dogs] (\n [name] TEXT\n, [default_str] TEXT)] PASSED [ 44%] 615s tests/test_create.py::test_add_column[nickname-str--CREATE TABLE [dogs] (\n [name] TEXT\n, [nickname] TEXT NOT NULL DEFAULT '')] PASSED [ 44%] 615s 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%] 615s tests/test_create.py::test_add_foreign_key PASSED [ 44%] 615s tests/test_create.py::test_add_foreign_key_if_column_contains_space PASSED [ 44%] 615s tests/test_create.py::test_add_foreign_key_error_if_column_does_not_exist PASSED [ 44%] 615s tests/test_create.py::test_add_foreign_key_error_if_other_table_does_not_exist PASSED [ 45%] 615s tests/test_create.py::test_add_foreign_key_error_if_already_exists PASSED [ 45%] 615s tests/test_create.py::test_add_foreign_key_no_error_if_exists_and_ignore_true PASSED [ 45%] 615s tests/test_create.py::test_add_foreign_keys PASSED [ 45%] 615s tests/test_create.py::test_add_column_foreign_key PASSED [ 45%] 615s tests/test_create.py::test_add_foreign_key_guess_table PASSED [ 45%] 615s tests/test_create.py::test_index_foreign_keys PASSED [ 45%] 615s tests/test_create.py::test_index_foreign_keys_if_index_name_is_already_used PASSED [ 45%] 615s tests/test_create.py::test_insert_row_alter_table[True-extra_data0-expected_new_columns0] PASSED [ 45%] 615s tests/test_create.py::test_insert_row_alter_table[True-extra_data1-expected_new_columns1] PASSED [ 45%] 615s tests/test_create.py::test_insert_row_alter_table[True-extra_data2-expected_new_columns2] PASSED [ 46%] 615s tests/test_create.py::test_insert_row_alter_table[False-extra_data0-expected_new_columns0] PASSED [ 46%] 615s tests/test_create.py::test_insert_row_alter_table[False-extra_data1-expected_new_columns1] PASSED [ 46%] 615s tests/test_create.py::test_insert_row_alter_table[False-extra_data2-expected_new_columns2] PASSED [ 46%] 615s tests/test_create.py::test_add_missing_columns_case_insensitive PASSED [ 46%] 615s tests/test_create.py::test_insert_replace_rows_alter_table[True] PASSED [ 46%] 615s tests/test_create.py::test_insert_replace_rows_alter_table[False] PASSED [ 46%] 615s tests/test_create.py::test_insert_all_with_extra_columns_in_later_chunks PASSED [ 46%] 615s tests/test_create.py::test_bulk_insert_more_than_999_values PASSED [ 46%] 615s tests/test_create.py::test_error_if_more_than_999_columns[900-False] PASSED [ 46%] 615s tests/test_create.py::test_error_if_more_than_999_columns[999-False] PASSED [ 47%] 615s tests/test_create.py::test_error_if_more_than_999_columns[1000-True] PASSED [ 47%] 616s tests/test_create.py::test_columns_not_in_first_record_should_not_cause_batch_to_be_too_large PASSED [ 47%] 616s tests/test_create.py::test_create_index[columns0-None-expected_index0] PASSED [ 47%] 616s tests/test_create.py::test_create_index[columns1-None-expected_index1] PASSED [ 47%] 616s tests/test_create.py::test_create_index[columns2-age_index-expected_index2] PASSED [ 47%] 616s tests/test_create.py::test_create_index_unique PASSED [ 47%] 616s tests/test_create.py::test_create_index_if_not_exists PASSED [ 47%] 616s tests/test_create.py::test_create_index_desc PASSED [ 47%] 616s tests/test_create.py::test_create_index_find_unique_name PASSED [ 47%] 616s tests/test_create.py::test_create_index_analyze PASSED [ 48%] 616s tests/test_create.py::test_insert_dictionaries_and_lists_as_json[data_structure0] PASSED [ 48%] 616s tests/test_create.py::test_insert_dictionaries_and_lists_as_json[data_structure1] PASSED [ 48%] 616s tests/test_create.py::test_insert_dictionaries_and_lists_as_json[data_structure2] PASSED [ 48%] 616s tests/test_create.py::test_insert_dictionaries_and_lists_as_json[data_structure3] PASSED [ 48%] 616s tests/test_create.py::test_insert_dictionaries_and_lists_as_json[data_structure4] PASSED [ 48%] 616s tests/test_create.py::test_insert_dictionaries_and_lists_as_json[data_structure5] PASSED [ 48%] 616s tests/test_create.py::test_insert_list_nested_unicode PASSED [ 48%] 616s tests/test_create.py::test_insert_uuid PASSED [ 48%] 616s tests/test_create.py::test_insert_memoryview PASSED [ 48%] 616s tests/test_create.py::test_insert_thousands_using_generator PASSED [ 49%] 616s tests/test_create.py::test_insert_thousands_raises_exception_with_extra_columns_after_first_100 PASSED [ 49%] 616s tests/test_create.py::test_insert_thousands_adds_extra_columns_after_first_100_with_alter PASSED [ 49%] 616s tests/test_create.py::test_insert_ignore PASSED [ 49%] 616s tests/test_create.py::test_insert_hash_id PASSED [ 49%] 616s tests/test_create.py::test_insert_hash_id_columns[True] PASSED [ 49%] 616s tests/test_create.py::test_insert_hash_id_columns[False] PASSED [ 49%] 616s tests/test_create.py::test_vacuum PASSED [ 49%] 616s tests/test_create.py::test_works_with_pathlib_path PASSED [ 49%] 616s tests/test_create.py::test_create_table_numpy SKIPPED (pandas and nu...) [ 49%] 616s tests/test_create.py::test_cannot_provide_both_filename_and_memory PASSED [ 50%] 616s tests/test_create.py::test_creates_id_column PASSED [ 50%] 616s tests/test_create.py::test_drop PASSED [ 50%] 616s tests/test_create.py::test_drop_view PASSED [ 50%] 616s tests/test_create.py::test_drop_ignore PASSED [ 50%] 616s tests/test_create.py::test_insert_all_empty_list PASSED [ 50%] 616s tests/test_create.py::test_insert_all_single_column PASSED [ 50%] 616s tests/test_create.py::test_insert_all_analyze[insert_all] PASSED [ 50%] 616s tests/test_create.py::test_insert_all_analyze[upsert_all] PASSED [ 50%] 616s tests/test_create.py::test_create_with_a_null_column PASSED [ 50%] 616s tests/test_create.py::test_create_with_nested_bytes PASSED [ 51%] 616s tests/test_create.py::test_quote[hello-'hello'] PASSED [ 51%] 616s tests/test_create.py::test_quote[hello'there'-'hello''there'''] PASSED [ 51%] 616s tests/test_create.py::test_create_table_sql[columns0-[id] INTEGER] PASSED [ 51%] 616s tests/test_create.py::test_create_table_sql[columns1-[col] TEXT] PASSED [ 51%] 616s tests/test_create.py::test_create_table_sql[columns2-[col] TEXT] PASSED [ 51%] 616s tests/test_create.py::test_create_table_sql[columns3-[col] TEXT] PASSED [ 51%] 616s tests/test_create.py::test_create PASSED [ 51%] 616s tests/test_create.py::test_create_if_not_exists PASSED [ 51%] 616s tests/test_create.py::test_create_if_no_columns PASSED [ 51%] 616s tests/test_create.py::test_create_ignore PASSED [ 52%] 616s tests/test_create.py::test_create_replace PASSED [ 52%] 616s tests/test_create.py::test_create_transform[cols0-kwargs0-CREATE TABLE [demo] (\n [id] INTEGER PRIMARY KEY,\n [name] TEXT\n)-False] PASSED [ 52%] 616s tests/test_create.py::test_create_transform[cols1-kwargs1-CREATE TABLE "demo" (\n [id] INTEGER\n)-True] PASSED [ 52%] 616s 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%] 616s tests/test_create.py::test_create_transform[cols3-kwargs3-CREATE TABLE "demo" (\n [id] INTEGER PRIMARY KEY,\n [name] BLOB\n)-True] PASSED [ 52%] 616s tests/test_create.py::test_create_transform[cols4-kwargs4-CREATE TABLE "demo" (\n [id] INTEGER,\n [name] TEXT PRIMARY KEY\n)-True] PASSED [ 52%] 616s tests/test_create.py::test_create_transform[cols5-kwargs5-CREATE TABLE "demo" (\n [name] TEXT,\n [id] INTEGER PRIMARY KEY\n)-True] PASSED [ 52%] 616s tests/test_create.py::test_create_transform[cols6-kwargs6-CREATE TABLE [demo] (\n [id] INTEGER PRIMARY KEY,\n [name] TEXT\n)-False] PASSED [ 52%] 616s 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%] 616s 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%] 616s tests/test_create.py::test_rename_table PASSED [ 53%] 616s tests/test_create.py::test_database_strict[False] PASSED [ 53%] 616s tests/test_create.py::test_database_strict[True] PASSED [ 53%] 616s tests/test_create.py::test_database_strict_override[False] PASSED [ 53%] 616s tests/test_create.py::test_database_strict_override[True] PASSED [ 53%] 616s tests/test_create.py::test_insert_upsert_strict[False-insert] PASSED [ 53%] 616s tests/test_create.py::test_insert_upsert_strict[False-upsert] PASSED [ 53%] 616s tests/test_create.py::test_insert_upsert_strict[False-insert_all] PASSED [ 53%] 616s tests/test_create.py::test_insert_upsert_strict[False-upsert_all] PASSED [ 53%] 616s tests/test_create.py::test_insert_upsert_strict[True-insert] PASSED [ 54%] 616s tests/test_create.py::test_insert_upsert_strict[True-upsert] PASSED [ 54%] 616s tests/test_create.py::test_insert_upsert_strict[True-insert_all] PASSED [ 54%] 616s tests/test_create.py::test_insert_upsert_strict[True-upsert_all] PASSED [ 54%] 616s tests/test_create.py::test_create_table_strict[False] PASSED [ 54%] 616s tests/test_create.py::test_create_table_strict[True] PASSED [ 54%] 616s tests/test_create.py::test_create_strict[False] PASSED [ 54%] 616s tests/test_create.py::test_create_strict[True] PASSED [ 54%] 616s tests/test_create_view.py::test_create_view PASSED [ 54%] 616s tests/test_create_view.py::test_create_view_error PASSED [ 54%] 616s tests/test_create_view.py::test_create_view_only_arrow_one_param PASSED [ 55%] 616s tests/test_create_view.py::test_create_view_ignore PASSED [ 55%] 616s tests/test_create_view.py::test_create_view_replace PASSED [ 55%] 616s tests/test_create_view.py::test_create_view_replace_with_same_does_nothing PASSED [ 55%] 616s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT 'foo'-'foo'-'foo'] PASSED [ 55%] 616s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT 'foo)'-'foo)'-'foo)'] PASSED [ 55%] 616s tests/test_default_value.py::test_quote_default_value[INTEGER DEFAULT '1'-'1'-'1'] PASSED [ 55%] 616s tests/test_default_value.py::test_quote_default_value[INTEGER DEFAULT 1-1-'1'] PASSED [ 55%] 616s tests/test_default_value.py::test_quote_default_value[INTEGER DEFAULT (1)-1-'1'] PASSED [ 55%] 616s 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%] 616s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT CURRENT_TIME-CURRENT_TIME-CURRENT_TIME] PASSED [ 56%] 616s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT CURRENT_DATE-CURRENT_DATE-CURRENT_DATE] PASSED [ 56%] 616s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT CURRENT_TIMESTAMP-CURRENT_TIMESTAMP-CURRENT_TIMESTAMP] PASSED [ 56%] 616s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT current_timestamp-current_timestamp-current_timestamp] PASSED [ 56%] 616s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT (CURRENT_TIMESTAMP)-CURRENT_TIMESTAMP-CURRENT_TIMESTAMP] PASSED [ 56%] 616s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT 'CURRENT_TIMESTAMP'-'CURRENT_TIMESTAMP'-'CURRENT_TIMESTAMP'] PASSED [ 56%] 616s tests/test_default_value.py::test_quote_default_value[TEXT DEFAULT "CURRENT_TIMESTAMP"-"CURRENT_TIMESTAMP"-"CURRENT_TIMESTAMP"] PASSED [ 56%] 616s tests/test_delete.py::test_delete_rowid_table PASSED [ 56%] 616s tests/test_delete.py::test_delete_pk_table PASSED [ 56%] 616s tests/test_delete.py::test_delete_where PASSED [ 56%] 616s tests/test_delete.py::test_delete_where_all PASSED [ 57%] 616s tests/test_delete.py::test_delete_where_analyze PASSED [ 57%] 616s tests/test_docs.py::test_commands_are_documented[tables] PASSED [ 57%] 616s tests/test_docs.py::test_commands_are_documented[views] PASSED [ 57%] 616s tests/test_docs.py::test_commands_are_documented[optimize] PASSED [ 57%] 616s tests/test_docs.py::test_commands_are_documented[rebuild-fts] PASSED [ 57%] 616s tests/test_docs.py::test_commands_are_documented[analyze] PASSED [ 57%] 616s tests/test_docs.py::test_commands_are_documented[vacuum] PASSED [ 57%] 616s tests/test_docs.py::test_commands_are_documented[dump] PASSED [ 57%] 616s tests/test_docs.py::test_commands_are_documented[add-column] PASSED [ 57%] 616s tests/test_docs.py::test_commands_are_documented[add-foreign-key] PASSED [ 58%] 616s tests/test_docs.py::test_commands_are_documented[add-foreign-keys] PASSED [ 58%] 616s tests/test_docs.py::test_commands_are_documented[index-foreign-keys] PASSED [ 58%] 616s tests/test_docs.py::test_commands_are_documented[create-index] PASSED [ 58%] 616s tests/test_docs.py::test_commands_are_documented[enable-fts] PASSED [ 58%] 616s tests/test_docs.py::test_commands_are_documented[populate-fts] PASSED [ 58%] 616s tests/test_docs.py::test_commands_are_documented[disable-fts] PASSED [ 58%] 616s tests/test_docs.py::test_commands_are_documented[enable-wal] PASSED [ 58%] 616s tests/test_docs.py::test_commands_are_documented[disable-wal] PASSED [ 58%] 616s tests/test_docs.py::test_commands_are_documented[enable-counts] PASSED [ 58%] 616s tests/test_docs.py::test_commands_are_documented[reset-counts] PASSED [ 59%] 616s tests/test_docs.py::test_commands_are_documented[insert] PASSED [ 59%] 616s tests/test_docs.py::test_commands_are_documented[upsert] PASSED [ 59%] 616s tests/test_docs.py::test_commands_are_documented[bulk] PASSED [ 59%] 616s tests/test_docs.py::test_commands_are_documented[create-database] PASSED [ 59%] 616s tests/test_docs.py::test_commands_are_documented[create-table] PASSED [ 59%] 616s tests/test_docs.py::test_commands_are_documented[duplicate] PASSED [ 59%] 616s tests/test_docs.py::test_commands_are_documented[rename-table] PASSED [ 59%] 616s tests/test_docs.py::test_commands_are_documented[drop-table] PASSED [ 59%] 616s tests/test_docs.py::test_commands_are_documented[create-view] PASSED [ 59%] 616s tests/test_docs.py::test_commands_are_documented[drop-view] PASSED [ 60%] 616s tests/test_docs.py::test_commands_are_documented[query] PASSED [ 60%] 616s tests/test_docs.py::test_commands_are_documented[memory] PASSED [ 60%] 616s tests/test_docs.py::test_commands_are_documented[search] PASSED [ 60%] 616s tests/test_docs.py::test_commands_are_documented[rows] PASSED [ 60%] 616s tests/test_docs.py::test_commands_are_documented[triggers] PASSED [ 60%] 616s tests/test_docs.py::test_commands_are_documented[indexes] PASSED [ 60%] 616s tests/test_docs.py::test_commands_are_documented[schema] PASSED [ 60%] 616s tests/test_docs.py::test_commands_are_documented[transform] PASSED [ 60%] 616s tests/test_docs.py::test_commands_are_documented[extract] PASSED [ 60%] 616s tests/test_docs.py::test_commands_are_documented[insert-files] PASSED [ 61%] 616s tests/test_docs.py::test_commands_are_documented[analyze-tables] PASSED [ 61%] 616s tests/test_docs.py::test_commands_are_documented[install] PASSED [ 61%] 616s tests/test_docs.py::test_commands_are_documented[uninstall] PASSED [ 61%] 616s tests/test_docs.py::test_commands_are_documented[convert] PASSED [ 61%] 616s tests/test_docs.py::test_commands_are_documented[add-geometry-column] PASSED [ 61%] 616s tests/test_docs.py::test_commands_are_documented[create-spatial-index] PASSED [ 61%] 616s tests/test_docs.py::test_commands_are_documented[plugins] PASSED [ 61%] 616s tests/test_docs.py::test_commands_have_help[command0] PASSED [ 61%] 616s tests/test_docs.py::test_commands_have_help[command1] PASSED [ 61%] 616s tests/test_docs.py::test_commands_have_help[command2] PASSED [ 62%] 616s tests/test_docs.py::test_commands_have_help[command3] PASSED [ 62%] 616s tests/test_docs.py::test_commands_have_help[command4] PASSED [ 62%] 616s tests/test_docs.py::test_commands_have_help[command5] PASSED [ 62%] 616s tests/test_docs.py::test_commands_have_help[command6] PASSED [ 62%] 616s tests/test_docs.py::test_commands_have_help[command7] PASSED [ 62%] 616s tests/test_docs.py::test_commands_have_help[command8] PASSED [ 62%] 616s tests/test_docs.py::test_commands_have_help[command9] PASSED [ 62%] 616s tests/test_docs.py::test_commands_have_help[command10] PASSED [ 62%] 616s tests/test_docs.py::test_commands_have_help[command11] PASSED [ 62%] 616s tests/test_docs.py::test_commands_have_help[command12] PASSED [ 63%] 616s tests/test_docs.py::test_commands_have_help[command13] PASSED [ 63%] 616s tests/test_docs.py::test_commands_have_help[command14] PASSED [ 63%] 616s tests/test_docs.py::test_commands_have_help[command15] PASSED [ 63%] 616s tests/test_docs.py::test_commands_have_help[command16] PASSED [ 63%] 616s tests/test_docs.py::test_commands_have_help[command17] PASSED [ 63%] 616s tests/test_docs.py::test_commands_have_help[command18] PASSED [ 63%] 616s tests/test_docs.py::test_commands_have_help[command19] PASSED [ 63%] 616s tests/test_docs.py::test_commands_have_help[command20] PASSED [ 63%] 616s tests/test_docs.py::test_commands_have_help[command21] PASSED [ 63%] 616s tests/test_docs.py::test_commands_have_help[command22] PASSED [ 64%] 616s tests/test_docs.py::test_commands_have_help[command23] PASSED [ 64%] 616s tests/test_docs.py::test_commands_have_help[command24] PASSED [ 64%] 616s tests/test_docs.py::test_commands_have_help[command25] PASSED [ 64%] 616s tests/test_docs.py::test_commands_have_help[command26] PASSED [ 64%] 616s tests/test_docs.py::test_commands_have_help[command27] PASSED [ 64%] 616s tests/test_docs.py::test_commands_have_help[command28] PASSED [ 64%] 616s tests/test_docs.py::test_commands_have_help[command29] PASSED [ 64%] 616s tests/test_docs.py::test_commands_have_help[command30] PASSED [ 64%] 616s tests/test_docs.py::test_commands_have_help[command31] PASSED [ 64%] 616s tests/test_docs.py::test_commands_have_help[command32] PASSED [ 65%] 616s tests/test_docs.py::test_commands_have_help[command33] PASSED [ 65%] 616s tests/test_docs.py::test_commands_have_help[command34] PASSED [ 65%] 616s tests/test_docs.py::test_commands_have_help[command35] PASSED [ 65%] 616s tests/test_docs.py::test_commands_have_help[command36] PASSED [ 65%] 616s tests/test_docs.py::test_commands_have_help[command37] PASSED [ 65%] 616s tests/test_docs.py::test_commands_have_help[command38] PASSED [ 65%] 616s tests/test_docs.py::test_commands_have_help[command39] PASSED [ 65%] 616s tests/test_docs.py::test_commands_have_help[command40] PASSED [ 65%] 616s tests/test_docs.py::test_commands_have_help[command41] PASSED [ 65%] 616s tests/test_docs.py::test_commands_have_help[command42] PASSED [ 66%] 616s tests/test_docs.py::test_commands_have_help[command43] PASSED [ 66%] 616s tests/test_docs.py::test_commands_have_help[command44] PASSED [ 66%] 616s tests/test_docs.py::test_commands_have_help[command45] PASSED [ 66%] 616s tests/test_docs.py::test_convert_help PASSED [ 66%] 616s tests/test_docs.py::test_recipes_are_documented[jsonsplit] PASSED [ 66%] 616s tests/test_docs.py::test_recipes_are_documented[parsedate] PASSED [ 66%] 616s tests/test_docs.py::test_recipes_are_documented[parsedatetime] PASSED [ 66%] 616s tests/test_duplicate.py::test_duplicate PASSED [ 66%] 616s tests/test_duplicate.py::test_duplicate_fails_if_table_does_not_exist PASSED [ 67%] 616s tests/test_enable_counts.py::test_enable_counts_specific_table PASSED [ 67%] 616s tests/test_enable_counts.py::test_enable_counts_all_tables PASSED [ 67%] 616s tests/test_enable_counts.py::test_cli_enable_counts[extra_args0-expected_triggers0] PASSED [ 67%] 616s tests/test_enable_counts.py::test_cli_enable_counts[extra_args1-expected_triggers1] PASSED [ 67%] 616s tests/test_enable_counts.py::test_uses_counts_after_enable_counts PASSED [ 67%] 616s tests/test_enable_counts.py::test_reset_counts PASSED [ 67%] 617s tests/test_enable_counts.py::test_reset_counts_cli PASSED [ 67%] 617s tests/test_extract.py::test_extract_single_column[None-None] PASSED [ 67%] 617s tests/test_extract.py::test_extract_single_column[None-Species] PASSED [ 67%] 617s tests/test_extract.py::test_extract_single_column[species-None] PASSED [ 68%] 617s tests/test_extract.py::test_extract_single_column[species-Species] PASSED [ 68%] 617s tests/test_extract.py::test_extract_multiple_columns_with_rename PASSED [ 68%] 617s tests/test_extract.py::test_extract_invalid_columns PASSED [ 68%] 617s tests/test_extract.py::test_extract_rowid_table PASSED [ 68%] 617s tests/test_extract.py::test_reuse_lookup_table PASSED [ 68%] 617s tests/test_extract.py::test_extract_error_on_incompatible_existing_lookup_table PASSED [ 68%] 617s tests/test_extract.py::test_extract_works_with_null_values PASSED [ 68%] 617s tests/test_extracts.py::test_extracts[True-kwargs0-Species] PASSED [ 68%] 617s tests/test_extracts.py::test_extracts[True-kwargs1-species_id] PASSED [ 68%] 617s tests/test_extracts.py::test_extracts[True-kwargs2-species_id] PASSED [ 69%] 617s tests/test_extracts.py::test_extracts[False-kwargs0-Species] PASSED [ 69%] 617s tests/test_extracts.py::test_extracts[False-kwargs1-species_id] PASSED [ 69%] 617s tests/test_extracts.py::test_extracts[False-kwargs2-species_id] PASSED [ 69%] 617s tests/test_fts.py::test_enable_fts PASSED [ 69%] 617s tests/test_fts.py::test_enable_fts_escape_table_names PASSED [ 69%] 617s tests/test_fts.py::test_search_limit_offset PASSED [ 69%] 617s tests/test_fts.py::test_search_where[FTS4] PASSED [ 69%] 617s tests/test_fts.py::test_search_where[FTS5] PASSED [ 69%] 617s tests/test_fts.py::test_search_where_args_disallows_query PASSED [ 69%] 617s tests/test_fts.py::test_enable_fts_table_names_containing_spaces PASSED [ 70%] 617s tests/test_fts.py::test_populate_fts PASSED [ 70%] 617s tests/test_fts.py::test_populate_fts_escape_table_names PASSED [ 70%] 617s tests/test_fts.py::test_fts_tokenize[4] PASSED [ 70%] 617s tests/test_fts.py::test_fts_tokenize[5] PASSED [ 70%] 617s tests/test_fts.py::test_optimize_fts PASSED [ 70%] 617s tests/test_fts.py::test_enable_fts_with_triggers PASSED [ 70%] 617s tests/test_fts.py::test_disable_fts[True] PASSED [ 70%] 617s tests/test_fts.py::test_disable_fts[False] PASSED [ 70%] 617s tests/test_fts.py::test_rebuild_fts PASSED [ 70%] 617s tests/test_fts.py::test_rebuild_fts_invalid[does_not_exist] PASSED [ 71%] 617s tests/test_fts.py::test_rebuild_fts_invalid[not_searchable] PASSED [ 71%] 617s tests/test_fts.py::test_rebuild_removes_junk_docsize_rows[FTS4] PASSED [ 71%] 617s tests/test_fts.py::test_rebuild_removes_junk_docsize_rows[FTS5] PASSED [ 71%] 617s tests/test_fts.py::test_enable_fts_replace[kwargs0] PASSED [ 71%] 617s tests/test_fts.py::test_enable_fts_replace[kwargs1] PASSED [ 71%] 617s tests/test_fts.py::test_enable_fts_replace[kwargs2] PASSED [ 71%] 617s tests/test_fts.py::test_enable_fts_replace[kwargs3] PASSED [ 71%] 617s tests/test_fts.py::test_enable_fts_replace_does_nothing_if_args_the_same PASSED [ 71%] 617s tests/test_fts.py::test_enable_fts_error_message_on_views PASSED [ 71%] 617s 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%] 617s 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%] 617s 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%] 617s 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%] 617s 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%] 617s 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%] 617s 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%] 617s 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%] 617s 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%] 617s tests/test_fts.py::test_quote_fts_query[dog-"dog"] PASSED [ 72%] 617s tests/test_fts.py::test_quote_fts_query[cat,-"cat,"] PASSED [ 73%] 618s tests/test_fts.py::test_quote_fts_query[cat's-"cat's"] PASSED [ 73%] 618s tests/test_fts.py::test_quote_fts_query[dog.-"dog."] PASSED [ 73%] 618s tests/test_fts.py::test_quote_fts_query[cat dog-"cat" "dog"] PASSED [ 73%] 618s tests/test_fts.py::test_quote_fts_query["cat dog"-"cat dog"] PASSED [ 73%] 618s tests/test_fts.py::test_quote_fts_query["cat dog" fish-"cat dog" "fish"] PASSED [ 73%] 618s tests/test_fts.py::test_quote_fts_query[cat"-"cat"] PASSED [ 73%] 618s tests/test_fts.py::test_quote_fts_query["cat dog" "fish-"cat dog" "fish"] PASSED [ 73%] 618s tests/test_fts.py::test_search_quote PASSED [ 73%] 618s tests/test_get.py::test_get_rowid PASSED [ 73%] 618s tests/test_get.py::test_get_primary_key PASSED [ 74%] 618s tests/test_get.py::test_get_not_found[100-None] PASSED [ 74%] 618s tests/test_get.py::test_get_not_found[None-None] PASSED [ 74%] 618s tests/test_get.py::test_get_not_found[argument2-Need 1 primary key value] PASSED [ 74%] 618s tests/test_get.py::test_get_not_found[2-None] PASSED [ 74%] 618s tests/test_gis.py::test_find_spatialite SKIPPED (Could not find Spat...) [ 74%] 618s tests/test_gis.py::test_init_spatialite SKIPPED (Could not find Spat...) [ 74%] 618s tests/test_gis.py::test_add_geometry_column SKIPPED (Could not find ...) [ 74%] 618s tests/test_gis.py::test_create_spatial_index SKIPPED (Could not find...) [ 74%] 618s tests/test_gis.py::test_double_create_spatial_index SKIPPED (Could n...) [ 74%] 618s tests/test_gis.py::test_query_load_extension[True] SKIPPED (Could no...) [ 75%] 618s tests/test_gis.py::test_query_load_extension[False] SKIPPED (Could n...) [ 75%] 618s tests/test_gis.py::test_cli_create_spatialite SKIPPED (Could not fin...) [ 75%] 618s tests/test_gis.py::test_cli_add_geometry_column SKIPPED (Could not f...) [ 75%] 618s tests/test_gis.py::test_cli_add_geometry_column_options SKIPPED (Cou...) [ 75%] 618s tests/test_gis.py::test_cli_add_geometry_column_invalid_type SKIPPED [ 75%] 618s tests/test_gis.py::test_cli_create_spatial_index SKIPPED (Could not ...) [ 75%] 621s tests/test_hypothesis.py::test_roundtrip_integers FAILED [ 75%] 621s 621s =================================== FAILURES =================================== 621s ___________________________ test_roundtrip_integers ____________________________ 621s 621s integer = 6022613559068844522 621s 621s @given(st.integers(-9223372036854775808, 9223372036854775807)) 621s > def test_roundtrip_integers(integer): 621s 621s tests/test_hypothesis.py:8: 621s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 621s 621s args = (6022613559068844522,), kwargs = {}, arg_drawtime = 7.18109999979788e-05 621s arg_stateful = 0.0, arg_gctime = 0.0027624640000567524, start = 417.423782935 621s result = None, finish = 420.513741633, in_drawtime = 0.0, in_stateful = 0.0 621s in_gctime = 2.5552329810000174, runtime = 0.534725716999958 621s 621s @proxies(self.test) 621s def test(*args, **kwargs): 621s arg_drawtime = math.fsum(data.draw_times.values()) 621s arg_stateful = math.fsum(data._stateful_run_times.values()) 621s arg_gctime = gc_cumulative_time() 621s start = time.perf_counter() 621s try: 621s with ensure_free_stackframes(): 621s result = self.test(*args, **kwargs) 621s finally: 621s finish = time.perf_counter() 621s in_drawtime = math.fsum(data.draw_times.values()) - arg_drawtime 621s in_stateful = ( 621s math.fsum(data._stateful_run_times.values()) - arg_stateful 621s ) 621s in_gctime = gc_cumulative_time() - arg_gctime 621s runtime = finish - start - in_drawtime - in_stateful - in_gctime 621s self._timing_features = { 621s "execute:test": runtime, 621s "overall:gc": in_gctime, 621s **data.draw_times, 621s **data._stateful_run_times, 621s } 621s 621s if (current_deadline := self.settings.deadline) is not None: 621s if not is_final: 621s current_deadline = (current_deadline // 4) * 5 621s if runtime >= current_deadline.total_seconds(): 621s > raise DeadlineExceeded( 621s datetime.timedelta(seconds=runtime), self.settings.deadline 621s ) 621s E hypothesis.errors.DeadlineExceeded: Test took 534.73ms, which exceeds the deadline of 200.00ms 621s 621s /usr/lib/python3/dist-packages/hypothesis/core.py:864: DeadlineExceeded 621s 621s The above exception was the direct cause of the following exception: 621s 621s @given(st.integers(-9223372036854775808, 9223372036854775807)) 621s > def test_roundtrip_integers(integer): 621s 621s tests/test_hypothesis.py:8: 621s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 621s 621s self = 621s data = ConjectureData(VALID, 11 bytes, frozen) 621s 621s def execute_once( 621s self, 621s data, 621s *, 621s print_example=False, 621s is_final=False, 621s expected_failure=None, 621s example_kwargs=None, 621s ): 621s """Run the test function once, using ``data`` as input. 621s 621s If the test raises an exception, it will propagate through to the 621s caller of this method. Depending on its type, this could represent 621s an ordinary test failure, or a fatal error, or a control exception. 621s 621s If this method returns normally, the test might have passed, or 621s it might have placed ``data`` in an unsuccessful state and then 621s swallowed the corresponding control exception. 621s """ 621s 621s self.ever_executed = True 621s data.is_find = self.is_find 621s 621s self._string_repr = "" 621s text_repr = None 621s if self.settings.deadline is None and not TESTCASE_CALLBACKS: 621s 621s @proxies(self.test) 621s def test(*args, **kwargs): 621s with ensure_free_stackframes(): 621s return self.test(*args, **kwargs) 621s 621s else: 621s 621s @proxies(self.test) 621s def test(*args, **kwargs): 621s arg_drawtime = math.fsum(data.draw_times.values()) 621s arg_stateful = math.fsum(data._stateful_run_times.values()) 621s arg_gctime = gc_cumulative_time() 621s start = time.perf_counter() 621s try: 621s with ensure_free_stackframes(): 621s result = self.test(*args, **kwargs) 621s finally: 621s finish = time.perf_counter() 621s in_drawtime = math.fsum(data.draw_times.values()) - arg_drawtime 621s in_stateful = ( 621s math.fsum(data._stateful_run_times.values()) - arg_stateful 621s ) 621s in_gctime = gc_cumulative_time() - arg_gctime 621s runtime = finish - start - in_drawtime - in_stateful - in_gctime 621s self._timing_features = { 621s "execute:test": runtime, 621s "overall:gc": in_gctime, 621s **data.draw_times, 621s **data._stateful_run_times, 621s } 621s 621s if (current_deadline := self.settings.deadline) is not None: 621s if not is_final: 621s current_deadline = (current_deadline // 4) * 5 621s if runtime >= current_deadline.total_seconds(): 621s raise DeadlineExceeded( 621s datetime.timedelta(seconds=runtime), self.settings.deadline 621s ) 621s return result 621s 621s def run(data): 621s # Set up dynamic context needed by a single test run. 621s if self.stuff.selfy is not None: 621s data.hypothesis_runner = self.stuff.selfy 621s # Generate all arguments to the test function. 621s args = self.stuff.args 621s kwargs = dict(self.stuff.kwargs) 621s if example_kwargs is None: 621s kw, argslices = context.prep_args_kwargs_from_strategies( 621s self.stuff.given_kwargs 621s ) 621s else: 621s kw = example_kwargs 621s argslices = {} 621s kwargs.update(kw) 621s if expected_failure is not None: 621s nonlocal text_repr 621s text_repr = repr_call(test, args, kwargs) 621s if text_repr in self.xfail_example_reprs: 621s warnings.warn( 621s f"We generated {text_repr}, which seems identical " 621s "to one of your `@example(...).xfail()` cases. " 621s "Revise the strategy to avoid this overlap?", 621s HypothesisWarning, 621s # Checked in test_generating_xfailed_examples_warns! 621s stacklevel=6, 621s ) 621s 621s if print_example or current_verbosity() >= Verbosity.verbose: 621s printer = RepresentationPrinter(context=context) 621s if print_example: 621s printer.text("Falsifying example:") 621s else: 621s printer.text("Trying example:") 621s 621s if self.print_given_args: 621s printer.text(" ") 621s printer.repr_call( 621s test.__name__, 621s args, 621s kwargs, 621s force_split=True, 621s arg_slices=argslices, 621s leading_comment=( 621s "# " + context.data.slice_comments[(0, 0)] 621s if (0, 0) in context.data.slice_comments 621s else None 621s ), 621s ) 621s report(printer.getvalue()) 621s 621s if TESTCASE_CALLBACKS: 621s printer = RepresentationPrinter(context=context) 621s printer.repr_call( 621s test.__name__, 621s args, 621s kwargs, 621s force_split=True, 621s arg_slices=argslices, 621s leading_comment=( 621s "# " + context.data.slice_comments[(0, 0)] 621s if (0, 0) in context.data.slice_comments 621s else None 621s ), 621s ) 621s self._string_repr = printer.getvalue() 621s data._observability_arguments = { 621s **dict(enumerate(map(to_jsonable, args))), 621s **{k: to_jsonable(v) for k, v in kwargs.items()}, 621s } 621s 621s try: 621s return test(*args, **kwargs) 621s except TypeError as e: 621s # If we sampled from a sequence of strategies, AND failed with a 621s # TypeError, *AND that exception mentions SearchStrategy*, add a note: 621s if "SearchStrategy" in str(e) and hasattr( 621s data, "_sampled_from_all_strategies_elements_message" 621s ): 621s msg, format_arg = data._sampled_from_all_strategies_elements_message 621s add_note(e, msg.format(format_arg)) 621s raise 621s finally: 621s if parts := getattr(data, "_stateful_repr_parts", None): 621s self._string_repr = "\n".join(parts) 621s 621s # self.test_runner can include the execute_example method, or setup/teardown 621s # _example, so it's important to get the PRNG and build context in place first. 621s with local_settings(self.settings): 621s with deterministic_PRNG(): 621s with BuildContext(data, is_final=is_final) as context: 621s # providers may throw in per_case_context_fn, and we'd like 621s # `result` to still be set in these cases. 621s result = None 621s with data.provider.per_test_case_context_manager(): 621s # Run the test function once, via the executor hook. 621s # In most cases this will delegate straight to `run(data)`. 621s result = self.test_runner(data, run) 621s 621s # If a failure was expected, it should have been raised already, so 621s # instead raise an appropriate diagnostic error. 621s if expected_failure is not None: 621s exception, traceback = expected_failure 621s if isinstance(exception, DeadlineExceeded) and ( 621s runtime_secs := math.fsum( 621s v 621s for k, v in self._timing_features.items() 621s if k.startswith("execute:") 621s ) 621s ): 621s report( 621s "Unreliable test timings! On an initial run, this " 621s "test took %.2fms, which exceeded the deadline of " 621s "%.2fms, but on a subsequent run it took %.2f ms, " 621s "which did not. If you expect this sort of " 621s "variability in your test timings, consider turning " 621s "deadlines off for this test by setting deadline=None." 621s % ( 621s exception.runtime.total_seconds() * 1000, 621s self.settings.deadline.total_seconds() * 1000, 621s runtime_secs * 1000, 621s ) 621s ) 621s else: 621s report("Failed to reproduce exception. Expected: \n" + traceback) 621s > raise Flaky( 621s f"Hypothesis {text_repr} produces unreliable results: " 621s "Falsified on the first call but did not on a subsequent one" 621s ) from exception 621s E hypothesis.errors.Flaky: Hypothesis test_roundtrip_integers(integer=6022613559068844522) produces unreliable results: Falsified on the first call but did not on a subsequent one 621s E Falsifying example: test_roundtrip_integers( 621s E integer=6022613559068844522, 621s E ) 621s E Unreliable test timings! On an initial run, this test took 534.73ms, which exceeded the deadline of 200.00ms, but on a subsequent run it took 0.29 ms, which did not. If you expect this sort of variability in your test timings, consider turning deadlines off for this test by setting deadline=None. 621s 621s /usr/lib/python3/dist-packages/hypothesis/core.py:994: Flaky 621s =============================== warnings summary =============================== 621s tests/test_cli.py::test_upsert_alter 621s :714: ResourceWarning: unclosed file <_io.BufferedReader name='/tmp/pytest-of-ubuntu/pytest-0/test_upsert_pk_required0/dogs.json'> 621s Enable tracemalloc to get traceback where the object was allocated. 621s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 621s 621s tests/test_cli_memory.py::test_memory_csv[False-test] 621s /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'> 621s for row in reader: 621s Enable tracemalloc to get traceback where the object was allocated. 621s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 621s 621s tests/test_cli_memory.py::test_memory_csv[False-t] 621s /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'> 621s for row in reader: 621s Enable tracemalloc to get traceback where the object was allocated. 621s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 621s 621s tests/test_cli_memory.py::test_memory_csv[False-t1] 621s /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'> 621s for row in reader: 621s Enable tracemalloc to get traceback where the object was allocated. 621s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 621s 621s tests/test_cli_memory.py::test_memory_tsv[False] 621s /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'> 621s for row in reader: 621s Enable tracemalloc to get traceback where the object was allocated. 621s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 621s 621s tests/test_cli_memory.py::test_memory_dump[extra_args1] 621s /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> 621s self.prefixes: t.Set[str] = set() 621s Enable tracemalloc to get traceback where the object was allocated. 621s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 621s 621s tests/test_cli_memory.py::test_memory_two_files_with_same_stem 621s /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'> 621s for row in reader: 621s Enable tracemalloc to get traceback where the object was allocated. 621s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 621s 621s tests/test_cli_memory.py::test_memory_two_files_with_same_stem 621s /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'> 621s for row in reader: 621s Enable tracemalloc to get traceback where the object was allocated. 621s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 621s 621s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 621s =========================== short test summary info ============================ 621s FAILED tests/test_hypothesis.py::test_roundtrip_integers - hypothesis.errors.... 621s !!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!! 621s ============ 1 failed, 738 passed, 16 skipped, 8 warnings in 27.63s ============ 635s autopkgtest [01:42:52]: test run-tests: -----------------------] 652s run-tests FAIL non-zero exit status 1 652s autopkgtest [01:43:09]: test run-tests: - - - - - - - - - - results - - - - - - - - - - 661s autopkgtest [01:43:18]: @@@@@@@@@@@@@@@@@@@@ summary 661s run-tests FAIL non-zero exit status 1 719s nova [W] Skipping flock in bos03-arm64 719s Creating nova instance adt-oracular-arm64-sqlite-utils-20240727-012036-juju-7f2275-prod-proposed-migration-environment-3-4055575b-000c-4224-8f79-2bd0f12b78d7 from image adt/ubuntu-oracular-arm64-server-20240726.img (UUID 33caccb7-bc3b-4ecc-9e17-59d67995dc9e)...