0s autopkgtest [10:58:34]: starting date and time: 2025-11-17 10:58:34+0000 0s autopkgtest [10:58:34]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [10:58:34]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.pylkef2g/out --timeout-copy=6000 -a i386 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults --apt-upgrade csvkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python3-defaults/3.13.7-2 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-amd64 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@sto01-4.secgroup --name adt-resolute-i386-csvkit-20251117-105834-juju-7f2275-prod-proposed-migration-environment-15-f8a942a7-6d93-4bc8-a772-44cda1065923 --image adt/ubuntu-resolute-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-autopkgtest-workers-amd64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 4s Creating nova instance adt-resolute-i386-csvkit-20251117-105834-juju-7f2275-prod-proposed-migration-environment-15-f8a942a7-6d93-4bc8-a772-44cda1065923 from image adt/ubuntu-resolute-amd64-server-20251117.img (UUID 9762b0cc-7c5b-4854-acd5-cc74ad0de8c6)... 81s autopkgtest [10:59:55]: testbed dpkg architecture: amd64 81s autopkgtest [10:59:55]: testbed apt version: 3.1.11 82s autopkgtest [10:59:56]: @@@@@@@@@@@@@@@@@@@@ test bed setup 82s autopkgtest [10:59:56]: testbed release detected to be: None 82s autopkgtest [10:59:56]: updating testbed package index (apt update) 82s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 83s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 83s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 83s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 83s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [9848 B] 83s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [22.9 kB] 83s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [81.1 kB] 83s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [868 kB] 83s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main i386 Packages [118 kB] 83s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 Packages [159 kB] 83s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 c-n-f Metadata [3096 B] 83s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 Packages [64.6 kB] 83s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/restricted i386 Packages [3744 B] 83s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 c-n-f Metadata [336 B] 83s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/universe i386 Packages [279 kB] 83s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 Packages [607 kB] 83s Get:17 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 c-n-f Metadata [21.2 kB] 83s Get:18 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse i386 Packages [6516 B] 83s Get:19 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 Packages [13.4 kB] 83s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 c-n-f Metadata [680 B] 85s Fetched 2346 kB in 1s (2461 kB/s) 85s Reading package lists... 86s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 86s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 86s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 86s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 87s Reading package lists... 87s Reading package lists... 87s Building dependency tree... 87s Reading state information... 87s Calculating upgrade... 87s The following packages will be upgraded: 87s libpython3-stdlib python3 python3-minimal usbutils 87s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 87s Need to get 146 kB of archives. 87s After this operation, 0 B of additional disk space will be used. 87s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 python3-minimal amd64 3.13.7-2 [27.8 kB] 87s Get:2 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 python3 amd64 3.13.7-2 [23.9 kB] 87s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 libpython3-stdlib amd64 3.13.7-2 [10.6 kB] 87s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 usbutils amd64 1:019-1 [83.9 kB] 87s dpkg-preconfigure: unable to re-open stdin: No such file or directory 87s Fetched 146 kB in 0s (9247 kB/s) 87s (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 ... 83372 files and directories currently installed.) 87s Preparing to unpack .../python3-minimal_3.13.7-2_amd64.deb ... 87s Unpacking python3-minimal (3.13.7-2) over (3.13.7-1) ... 87s Setting up python3-minimal (3.13.7-2) ... 87s (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 ... 83372 files and directories currently installed.) 87s Preparing to unpack .../python3_3.13.7-2_amd64.deb ... 87s running python pre-rtupdate hooks for python3.13... 87s Unpacking python3 (3.13.7-2) over (3.13.7-1) ... 87s Preparing to unpack .../libpython3-stdlib_3.13.7-2_amd64.deb ... 87s Unpacking libpython3-stdlib:amd64 (3.13.7-2) over (3.13.7-1) ... 87s Preparing to unpack .../usbutils_1%3a019-1_amd64.deb ... 87s Unpacking usbutils (1:019-1) over (1:018-2) ... 87s Setting up usbutils (1:019-1) ... 87s Setting up libpython3-stdlib:amd64 (3.13.7-2) ... 87s Setting up python3 (3.13.7-2) ... 87s running python rtupdate hooks for python3.13... 87s running python post-rtupdate hooks for python3.13... 88s Processing triggers for man-db (2.13.1-1) ... 88s autopkgtest [11:00:02]: upgrading testbed (apt dist-upgrade and autopurge) 88s Reading package lists... 88s Building dependency tree... 88s Reading state information... 89s Calculating upgrade... 89s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 89s Reading package lists... 89s Building dependency tree... 89s Reading state information... 89s Solving dependencies... 89s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 91s autopkgtest [11:00:05]: testbed running kernel: Linux 6.17.0-5-generic #5-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 22 10:00:33 UTC 2025 91s autopkgtest [11:00:05]: @@@@@@@@@@@@@@@@@@@@ apt-source csvkit 93s Get:1 http://ftpmaster.internal/ubuntu resolute/universe csvkit 2.0.1-3 (dsc) [2475 B] 93s Get:2 http://ftpmaster.internal/ubuntu resolute/universe csvkit 2.0.1-3 (tar) [4005 kB] 93s Get:3 http://ftpmaster.internal/ubuntu resolute/universe csvkit 2.0.1-3 (diff) [5500 B] 93s gpgv: Signature made Mon Aug 19 04:53:25 2024 UTC 93s gpgv: using RSA key E50AFD55ADD27AAB97163A8B21D20589974B3E96 93s gpgv: issuer "tmancill@debian.org" 93s gpgv: Can't check signature: No public key 93s dpkg-source: warning: cannot verify inline signature for ./csvkit_2.0.1-3.dsc: no acceptable signature found 94s autopkgtest [11:00:08]: testing package csvkit version 2.0.1-3 94s autopkgtest [11:00:08]: build not needed 97s autopkgtest [11:00:11]: test command1: preparing testbed 97s Reading package lists... 97s Building dependency tree... 97s Reading state information... 97s Solving dependencies... 97s The following NEW packages will be installed: 97s libpython3.14-minimal libpython3.14-stdlib libxslt1.1 python3-agate 97s python3-agatedbf python3-agateexcel python3-agatesql python3-all 97s python3-csvkit python3-dbfread python3-et-xmlfile python3-greenlet 97s python3-iniconfig python3-isodate python3-leather python3-lxml 97s python3-olefile python3-openpyxl python3-parsedatetime python3-pluggy 97s python3-pytest python3-pytimeparse python3-slugify python3-sqlalchemy 97s python3-text-unidecode python3-xlrd python3.14 python3.14-minimal 97s 0 upgraded, 28 newly installed, 0 to remove and 0 not upgraded. 97s Need to get 11.5 MB of archives. 97s After this operation, 48.8 MB of additional disk space will be used. 97s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 libpython3.14-minimal amd64 3.14.0-4 [906 kB] 98s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 python3.14-minimal amd64 3.14.0-4 [2559 kB] 98s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 libpython3.14-stdlib amd64 3.14.0-4 [2397 kB] 98s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 libxslt1.1 amd64 1.1.43-0.3 [172 kB] 98s Get:5 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-isodate all 0.7.2-2 [18.8 kB] 98s Get:6 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-leather all 0.4.0-1 [19.8 kB] 98s Get:7 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-parsedatetime all 2.6-3 [32.8 kB] 98s Get:8 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pytimeparse all 1.1.5-4 [8500 B] 98s Get:9 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-text-unidecode all 1.3-2 [57.5 kB] 98s Get:10 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-slugify all 8.0.4-4 [14.2 kB] 98s Get:11 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-agate all 1.13.0-1 [48.4 kB] 98s Get:12 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-dbfread all 2.0.7-5 [15.4 kB] 98s Get:13 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-agatedbf all 0.2.2-2 [4264 B] 99s Get:14 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-olefile all 0.47-1 [37.1 kB] 99s Get:15 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-et-xmlfile all 2.0.0-1 [79.4 kB] 99s Get:16 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-lxml amd64 6.0.2-1 [2333 kB] 99s Get:17 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-openpyxl all 3.1.5+dfsg-3 [153 kB] 99s Get:18 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-xlrd all 2.0.2-2 [83.4 kB] 99s Get:19 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-agateexcel all 0.4.1-1 [7412 B] 99s Get:20 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-greenlet amd64 3.2.4-2 [185 kB] 99s Get:21 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-sqlalchemy all 2.0.40+ds1-2 [1220 kB] 99s Get:22 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-agatesql all 0.7.2-1 [8358 B] 99s Get:23 http://ftpmaster.internal/ubuntu resolute/main amd64 python3.14 amd64 3.14.0-4 [805 kB] 99s Get:24 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 python3-all amd64 3.13.7-2 [890 B] 99s Get:25 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-csvkit all 2.0.1-3 [30.2 kB] 99s Get:26 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-iniconfig all 2.1.0-1 [6840 B] 99s Get:27 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pluggy all 1.6.0-1 [21.0 kB] 99s Get:28 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pytest all 8.3.5-2 [252 kB] 99s Fetched 11.5 MB in 2s (5750 kB/s) 99s Selecting previously unselected package libpython3.14-minimal:amd64. 99s (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 ... 83372 files and directories currently installed.) 99s Preparing to unpack .../00-libpython3.14-minimal_3.14.0-4_amd64.deb ... 99s Unpacking libpython3.14-minimal:amd64 (3.14.0-4) ... 99s Selecting previously unselected package python3.14-minimal. 99s Preparing to unpack .../01-python3.14-minimal_3.14.0-4_amd64.deb ... 99s Unpacking python3.14-minimal (3.14.0-4) ... 99s Selecting previously unselected package libpython3.14-stdlib:amd64. 99s Preparing to unpack .../02-libpython3.14-stdlib_3.14.0-4_amd64.deb ... 99s Unpacking libpython3.14-stdlib:amd64 (3.14.0-4) ... 99s Selecting previously unselected package libxslt1.1:amd64. 99s Preparing to unpack .../03-libxslt1.1_1.1.43-0.3_amd64.deb ... 99s Unpacking libxslt1.1:amd64 (1.1.43-0.3) ... 99s Selecting previously unselected package python3-isodate. 99s Preparing to unpack .../04-python3-isodate_0.7.2-2_all.deb ... 99s Unpacking python3-isodate (0.7.2-2) ... 99s Selecting previously unselected package python3-leather. 99s Preparing to unpack .../05-python3-leather_0.4.0-1_all.deb ... 99s Unpacking python3-leather (0.4.0-1) ... 99s Selecting previously unselected package python3-parsedatetime. 99s Preparing to unpack .../06-python3-parsedatetime_2.6-3_all.deb ... 99s Unpacking python3-parsedatetime (2.6-3) ... 99s Selecting previously unselected package python3-pytimeparse. 99s Preparing to unpack .../07-python3-pytimeparse_1.1.5-4_all.deb ... 99s Unpacking python3-pytimeparse (1.1.5-4) ... 99s Selecting previously unselected package python3-text-unidecode. 99s Preparing to unpack .../08-python3-text-unidecode_1.3-2_all.deb ... 99s Unpacking python3-text-unidecode (1.3-2) ... 99s Selecting previously unselected package python3-slugify. 99s Preparing to unpack .../09-python3-slugify_8.0.4-4_all.deb ... 99s Unpacking python3-slugify (8.0.4-4) ... 99s Selecting previously unselected package python3-agate. 99s Preparing to unpack .../10-python3-agate_1.13.0-1_all.deb ... 99s Unpacking python3-agate (1.13.0-1) ... 99s Selecting previously unselected package python3-dbfread. 99s Preparing to unpack .../11-python3-dbfread_2.0.7-5_all.deb ... 99s Unpacking python3-dbfread (2.0.7-5) ... 99s Selecting previously unselected package python3-agatedbf. 99s Preparing to unpack .../12-python3-agatedbf_0.2.2-2_all.deb ... 99s Unpacking python3-agatedbf (0.2.2-2) ... 99s Selecting previously unselected package python3-olefile. 99s Preparing to unpack .../13-python3-olefile_0.47-1_all.deb ... 99s Unpacking python3-olefile (0.47-1) ... 99s Selecting previously unselected package python3-et-xmlfile. 99s Preparing to unpack .../14-python3-et-xmlfile_2.0.0-1_all.deb ... 99s Unpacking python3-et-xmlfile (2.0.0-1) ... 100s Selecting previously unselected package python3-lxml:amd64. 100s Preparing to unpack .../15-python3-lxml_6.0.2-1_amd64.deb ... 100s Unpacking python3-lxml:amd64 (6.0.2-1) ... 100s Selecting previously unselected package python3-openpyxl. 100s Preparing to unpack .../16-python3-openpyxl_3.1.5+dfsg-3_all.deb ... 100s Unpacking python3-openpyxl (3.1.5+dfsg-3) ... 100s Selecting previously unselected package python3-xlrd. 100s Preparing to unpack .../17-python3-xlrd_2.0.2-2_all.deb ... 100s Unpacking python3-xlrd (2.0.2-2) ... 100s Selecting previously unselected package python3-agateexcel. 100s Preparing to unpack .../18-python3-agateexcel_0.4.1-1_all.deb ... 100s Unpacking python3-agateexcel (0.4.1-1) ... 100s Selecting previously unselected package python3-greenlet. 100s Preparing to unpack .../19-python3-greenlet_3.2.4-2_amd64.deb ... 100s Unpacking python3-greenlet (3.2.4-2) ... 100s Selecting previously unselected package python3-sqlalchemy. 100s Preparing to unpack .../20-python3-sqlalchemy_2.0.40+ds1-2_all.deb ... 100s Unpacking python3-sqlalchemy (2.0.40+ds1-2) ... 100s Selecting previously unselected package python3-agatesql. 100s Preparing to unpack .../21-python3-agatesql_0.7.2-1_all.deb ... 100s Unpacking python3-agatesql (0.7.2-1) ... 100s Selecting previously unselected package python3.14. 100s Preparing to unpack .../22-python3.14_3.14.0-4_amd64.deb ... 100s Unpacking python3.14 (3.14.0-4) ... 100s Selecting previously unselected package python3-all. 100s Preparing to unpack .../23-python3-all_3.13.7-2_amd64.deb ... 100s Unpacking python3-all (3.13.7-2) ... 100s Selecting previously unselected package python3-csvkit. 100s Preparing to unpack .../24-python3-csvkit_2.0.1-3_all.deb ... 100s Unpacking python3-csvkit (2.0.1-3) ... 100s Selecting previously unselected package python3-iniconfig. 100s Preparing to unpack .../25-python3-iniconfig_2.1.0-1_all.deb ... 100s Unpacking python3-iniconfig (2.1.0-1) ... 100s Selecting previously unselected package python3-pluggy. 100s Preparing to unpack .../26-python3-pluggy_1.6.0-1_all.deb ... 100s Unpacking python3-pluggy (1.6.0-1) ... 100s Selecting previously unselected package python3-pytest. 100s Preparing to unpack .../27-python3-pytest_8.3.5-2_all.deb ... 100s Unpacking python3-pytest (8.3.5-2) ... 100s Setting up python3-iniconfig (2.1.0-1) ... 100s Setting up python3-parsedatetime (2.6-3) ... 100s Setting up python3-dbfread (2.0.7-5) ... 100s Setting up python3-olefile (0.47-1) ... 100s Setting up libpython3.14-minimal:amd64 (3.14.0-4) ... 100s Setting up python3-pytimeparse (1.1.5-4) ... 100s Setting up python3-isodate (0.7.2-2) ... 100s Setting up python3-leather (0.4.0-1) ... 101s Setting up python3-greenlet (3.2.4-2) ... 101s Setting up python3-pluggy (1.6.0-1) ... 101s Setting up python3-text-unidecode (1.3-2) ... 101s Setting up libxslt1.1:amd64 (1.1.43-0.3) ... 101s Setting up python3-et-xmlfile (2.0.0-1) ... 101s Setting up python3-xlrd (2.0.2-2) ... 101s Setting up python3.14-minimal (3.14.0-4) ... 102s Setting up libpython3.14-stdlib:amd64 (3.14.0-4) ... 102s Setting up python3-pytest (8.3.5-2) ... 102s Setting up python3-sqlalchemy (2.0.40+ds1-2) ... 104s Setting up python3-slugify (8.0.4-4) ... 104s Setting up python3-lxml:amd64 (6.0.2-1) ... 104s Setting up python3.14 (3.14.0-4) ... 104s Setting up python3-agate (1.13.0-1) ... 105s Setting up python3-agatesql (0.7.2-1) ... 105s Setting up python3-all (3.13.7-2) ... 105s Setting up python3-agatedbf (0.2.2-2) ... 105s Setting up python3-openpyxl (3.1.5+dfsg-3) ... 105s Setting up python3-agateexcel (0.4.1-1) ... 105s Setting up python3-csvkit (2.0.1-3) ... 105s Processing triggers for systemd (257.9-0ubuntu2) ... 105s Processing triggers for man-db (2.13.1-1) ... 106s Processing triggers for libc-bin (2.42-2ubuntu2) ... 106s autopkgtest [11:00:20]: test environment configured for cross building 106s autopkgtest [11:00:20]: test command1: set -e ; cp -r examples tests "$AUTOPKGTEST_TMP" ; for py in $(py3versions -r 2>/dev/null) ; do cd "$AUTOPKGTEST_TMP" ; echo "Testing with $py:" ; $py -m pytest -v ; done 106s autopkgtest [11:00:20]: test command1: [----------------------- 107s Testing with python3.14: 107s ============================= test session starts ============================== 107s platform linux -- Python 3.14.0, pytest-8.3.5, pluggy-1.6.0 -- /usr/bin/python3.14 107s cachedir: .pytest_cache 107s rootdir: /tmp/autopkgtest.x3qg58/autopkgtest_tmp 107s plugins: typeguard-4.4.2 107s collecting ... collected 339 items 107s 107s tests/test_cleanup.py::TestCleanup::test_fix_rows PASSED [ 0%] 107s tests/test_cleanup.py::TestCleanup::test_real_world_join_fail PASSED [ 0%] 107s tests/test_cli.py::TestCli::test_match_column_identifier_numeric PASSED [ 0%] 107s tests/test_cli.py::TestCli::test_match_column_identifier_string PASSED [ 1%] 107s tests/test_cli.py::TestCli::test_match_column_which_could_be_integer_name_is_treated_as_positional_id PASSED [ 1%] 107s tests/test_cli.py::TestCli::test_parse_column_identifiers PASSED [ 1%] 107s tests/test_cli.py::TestCli::test_range_notation PASSED [ 2%] 107s tests/test_cli.py::TestCli::test_range_notation_open_ended PASSED [ 2%] 107s tests/test_convert/test_convert.py::TestConvert::test_guess_csv PASSED [ 2%] 107s tests/test_convert/test_convert.py::TestConvert::test_guess_dbf PASSED [ 2%] 107s tests/test_convert/test_convert.py::TestConvert::test_guess_fixed PASSED [ 3%] 107s tests/test_convert/test_convert.py::TestConvert::test_guess_invalid PASSED [ 3%] 107s tests/test_convert/test_convert.py::TestConvert::test_guess_json PASSED [ 3%] 107s tests/test_convert/test_convert.py::TestConvert::test_guess_xls PASSED [ 4%] 107s tests/test_convert/test_convert.py::TestConvert::test_guess_xls_uppercase PASSED [ 4%] 107s tests/test_convert/test_convert.py::TestConvert::test_guess_xlsx PASSED [ 4%] 107s tests/test_convert/test_fixed.py::TestFixed::test_fixed PASSED [ 5%] 107s tests/test_convert/test_fixed.py::TestFixed::test_fixed_no_inference PASSED [ 5%] 107s tests/test_convert/test_fixed.py::TestFixed::test_fixed_skip_lines PASSED [ 5%] 107s tests/test_convert/test_fixed.py::TestFixed::test_fixed_streaming PASSED [ 5%] 107s tests/test_convert/test_fixed.py::TestFixed::test_one_based_row_decoder PASSED [ 6%] 107s tests/test_convert/test_fixed.py::TestFixed::test_schema_decoder_in_action PASSED [ 6%] 107s tests/test_convert/test_fixed.py::TestFixed::test_schema_decoder_init PASSED [ 6%] 107s tests/test_convert/test_fixed.py::TestFixed::test_schematic_line_parser PASSED [ 7%] 107s tests/test_grep.py::TestGrep::test_any_match PASSED [ 7%] 107s tests/test_grep.py::TestGrep::test_any_match_and_inverse PASSED [ 7%] 107s tests/test_grep.py::TestGrep::test_column_names_in_patterns PASSED [ 7%] 107s tests/test_grep.py::TestGrep::test_duplicate_column_ids_in_patterns PASSED [ 8%] 107s tests/test_grep.py::TestGrep::test_index_out_of_range PASSED [ 8%] 107s tests/test_grep.py::TestGrep::test_inverse PASSED [ 8%] 107s tests/test_grep.py::TestGrep::test_mixed_indices_and_column_names_in_patterns PASSED [ 9%] 107s tests/test_grep.py::TestGrep::test_multiline PASSED [ 9%] 107s tests/test_grep.py::TestGrep::test_no_header PASSED [ 9%] 107s tests/test_grep.py::TestGrep::test_pattern PASSED [ 10%] 107s tests/test_grep.py::TestGrep::test_regex PASSED [ 10%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_changes_character_encoding PASSED [ 10%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_changes_line_endings PASSED [ 10%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_empty PASSED [ 11%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_empty_columns PASSED [ 11%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_empty_columns_long_row PASSED [ 11%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_empty_columns_short_row PASSED [ 12%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_empty_columns_zero PASSED [ 12%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_enable_all_checks PASSED [ 12%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_fill_short_rows PASSED [ 12%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_fill_short_rows_separator PASSED [ 13%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_header_normalize_space PASSED [ 13%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_join_short_rows PASSED [ 13%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_join_short_rows_separator PASSED [ 14%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_label PASSED [ 14%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_label_default PASSED [ 14%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_label_default_stdin PASSED [ 15%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_launch_new_instance PASSED [ 15%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_no_header_row PASSED [ 15%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_options FAILED [ 15%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_removes_bom PASSED [ 16%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_removes_optional_quote_characters PASSED [ 16%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_simple PASSED [ 16%] 107s tests/test_utilities/test_csvclean.py::TestCSVClean::test_skip_lines PASSED [ 17%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_delete_empty PASSED [ 17%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_empty PASSED [ 17%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_exclude PASSED [ 17%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_include_and_exclude PASSED [ 18%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_invalid_column PASSED [ 18%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_invalid_options PASSED [ 18%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_launch_new_instance PASSED [ 19%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_linenumbers PASSED [ 19%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_names PASSED [ 19%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_names_with_skip_lines PASSED [ 20%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_no_header_row PASSED [ 20%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_null_byte PASSED [ 20%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_ragged PASSED [ 20%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_simple PASSED [ 21%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_skip_lines PASSED [ 21%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_truncate PASSED [ 21%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_unicode PASSED [ 22%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_with_bzip2 PASSED [ 22%] 107s tests/test_utilities/test_csvcut.py::TestCSVCut::test_with_gzip PASSED [ 22%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormat::test_asv PASSED [ 23%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormat::test_delimiter PASSED [ 23%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormat::test_doublequote PASSED [ 23%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormat::test_empty PASSED [ 23%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormat::test_escapechar PASSED [ 24%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormat::test_launch_new_instance PASSED [ 24%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormat::test_linenumbers PASSED [ 24%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormat::test_lineterminator PASSED [ 25%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormat::test_no_header_row PASSED [ 25%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormat::test_quotechar PASSED [ 25%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormat::test_skip_header PASSED [ 25%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormat::test_skip_header_no_header_row PASSED [ 26%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormat::test_skip_lines PASSED [ 26%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormat::test_tabs PASSED [ 26%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormatQuoteNonNumeric::test_asv PASSED [ 27%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormatQuoteNonNumeric::test_delimiter PASSED [ 27%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormatQuoteNonNumeric::test_doublequote PASSED [ 27%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormatQuoteNonNumeric::test_empty PASSED [ 28%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormatQuoteNonNumeric::test_escapechar PASSED [ 28%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormatQuoteNonNumeric::test_launch_new_instance PASSED [ 28%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormatQuoteNonNumeric::test_linenumbers PASSED [ 28%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormatQuoteNonNumeric::test_lineterminator PASSED [ 29%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormatQuoteNonNumeric::test_locale PASSED [ 29%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormatQuoteNonNumeric::test_no_header_row PASSED [ 29%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormatQuoteNonNumeric::test_quotechar PASSED [ 30%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormatQuoteNonNumeric::test_skip_header PASSED [ 30%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormatQuoteNonNumeric::test_skip_header_no_header_row PASSED [ 30%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormatQuoteNonNumeric::test_skip_lines PASSED [ 30%] 107s tests/test_utilities/test_csvformat.py::TestCSVFormatQuoteNonNumeric::test_tabs PASSED [ 31%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_any_match PASSED [ 31%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_empty PASSED [ 31%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_invalid_column PASSED [ 32%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_invalid_options PASSED [ 32%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_invert_match PASSED [ 32%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_kwargs_with_line_numbers PASSED [ 33%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_launch_new_instance PASSED [ 33%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_match PASSED [ 33%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_match_utf8 PASSED [ 33%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_match_utf8_bom PASSED [ 34%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_match_with_line_numbers PASSED [ 34%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_names PASSED [ 34%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_no_match PASSED [ 35%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_options FAILED [ 35%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_re_match PASSED [ 35%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_re_match_utf8 PASSED [ 35%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_skip_lines PASSED [ 36%] 107s tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_string_match PASSED [ 36%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_blanks PASSED [ 36%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_empty PASSED [ 37%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_inner PASSED [ 37%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_join_options FAILED [ 37%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_launch_new_instance PASSED [ 38%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_left PASSED [ 38%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_left_short_columns PASSED [ 38%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_no_blanks PASSED [ 38%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_no_header_row PASSED [ 39%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_no_inference PASSED [ 39%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_options FAILED [ 39%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_outer PASSED [ 40%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_right PASSED [ 40%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_right_indices PASSED [ 40%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_sequential PASSED [ 41%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_single PASSED [ 41%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_sniff_limit_no_limit PASSED [ 41%] 107s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_sniff_limit_zero_limit PASSED [ 41%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_blanks PASSED [ 42%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_duplicate_keys PASSED [ 42%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_empty PASSED [ 42%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_geojson_point PASSED [ 43%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_geojson_shape PASSED [ 43%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_geojson_with_crs PASSED [ 43%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_geojson_with_id PASSED [ 43%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_geojson_with_no_bbox PASSED [ 44%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_indentation PASSED [ 44%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_keying PASSED [ 44%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_latlon_options FAILED [ 45%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_launch_new_instance PASSED [ 45%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_ndgeojson PASSED [ 45%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_ndgeojson_streaming PASSED [ 46%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_ndjson PASSED [ 46%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_ndjson_streaming PASSED [ 46%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_no_blanks PASSED [ 46%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_no_header_row PASSED [ 47%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_no_inference PASSED [ 47%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_options FAILED [ 47%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_simple PASSED [ 48%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_sniff_limit PASSED [ 48%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_tsv PASSED [ 48%] 107s tests/test_utilities/test_csvjson.py::TestCSVJSON::test_tsv_streaming PASSED [ 48%] 107s tests/test_utilities/test_csvlook.py::TestCSVLook::test_blanks PASSED [ 49%] 107s tests/test_utilities/test_csvlook.py::TestCSVLook::test_empty PASSED [ 49%] 107s tests/test_utilities/test_csvlook.py::TestCSVLook::test_encoding PASSED [ 49%] 107s tests/test_utilities/test_csvlook.py::TestCSVLook::test_launch_new_instance PASSED [ 50%] 107s tests/test_utilities/test_csvlook.py::TestCSVLook::test_linenumbers PASSED [ 50%] 107s tests/test_utilities/test_csvlook.py::TestCSVLook::test_max_column_width PASSED [ 50%] 107s tests/test_utilities/test_csvlook.py::TestCSVLook::test_max_columns PASSED [ 51%] 107s tests/test_utilities/test_csvlook.py::TestCSVLook::test_max_precision PASSED [ 51%] 107s tests/test_utilities/test_csvlook.py::TestCSVLook::test_max_precision_no_number_ellipsis PASSED [ 51%] 107s tests/test_utilities/test_csvlook.py::TestCSVLook::test_max_rows PASSED [ 51%] 107s tests/test_utilities/test_csvlook.py::TestCSVLook::test_no_blanks PASSED [ 52%] 107s tests/test_utilities/test_csvlook.py::TestCSVLook::test_no_header_row PASSED [ 52%] 107s tests/test_utilities/test_csvlook.py::TestCSVLook::test_no_inference PASSED [ 52%] 107s tests/test_utilities/test_csvlook.py::TestCSVLook::test_no_number_ellipsis PASSED [ 53%] 107s tests/test_utilities/test_csvlook.py::TestCSVLook::test_runs PASSED [ 53%] 107s tests/test_utilities/test_csvlook.py::TestCSVLook::test_simple PASSED [ 53%] 107s tests/test_utilities/test_csvlook.py::TestCSVLook::test_sniff_limit_no_limit PASSED [ 53%] 108s tests/test_utilities/test_csvlook.py::TestCSVLook::test_sniff_limit_zero_limit PASSED [ 54%] 108s tests/test_utilities/test_csvlook.py::TestCSVLook::test_stdin PASSED [ 54%] 108s tests/test_utilities/test_csvlook.py::TestCSVLook::test_unicode PASSED [ 54%] 108s tests/test_utilities/test_csvlook.py::TestCSVLook::test_unicode_bom PASSED [ 55%] 108s tests/test_utilities/test_csvsort.py::TestCSVSort::test_blanks PASSED [ 55%] 108s tests/test_utilities/test_csvsort.py::TestCSVSort::test_empty PASSED [ 55%] 108s tests/test_utilities/test_csvsort.py::TestCSVSort::test_encoding PASSED [ 56%] 108s tests/test_utilities/test_csvsort.py::TestCSVSort::test_ignore_case PASSED [ 56%] 108s tests/test_utilities/test_csvsort.py::TestCSVSort::test_invalid_column PASSED [ 56%] 108s tests/test_utilities/test_csvsort.py::TestCSVSort::test_invalid_options PASSED [ 56%] 108s tests/test_utilities/test_csvsort.py::TestCSVSort::test_launch_new_instance PASSED [ 57%] 108s tests/test_utilities/test_csvsort.py::TestCSVSort::test_names PASSED [ 57%] 108s tests/test_utilities/test_csvsort.py::TestCSVSort::test_no_blanks PASSED [ 57%] 108s tests/test_utilities/test_csvsort.py::TestCSVSort::test_no_header_row PASSED [ 58%] 108s tests/test_utilities/test_csvsort.py::TestCSVSort::test_no_inference PASSED [ 58%] 108s tests/test_utilities/test_csvsort.py::TestCSVSort::test_runs PASSED [ 58%] 108s tests/test_utilities/test_csvsort.py::TestCSVSort::test_sort_date PASSED [ 58%] 108s tests/test_utilities/test_csvsort.py::TestCSVSort::test_sort_string_reverse PASSED [ 59%] 108s tests/test_utilities/test_csvsort.py::TestCSVSort::test_sort_t_and_nulls PASSED [ 59%] 108s tests/test_utilities/test_csvsort.py::TestCSVSort::test_stdin PASSED [ 59%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_before_after_insert PASSED [ 60%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_blanks PASSED [ 60%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_create_if_not_exists PASSED [ 60%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_create_table PASSED [ 61%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_empty PASSED [ 61%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_insert_options FAILED [ 61%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_launch_new_instance PASSED [ 61%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_linenumbers PASSED [ 62%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_no_blanks PASSED [ 62%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_no_create_if_not_exists PASSED [ 62%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_no_header_row PASSED [ 63%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_no_inference PASSED [ 63%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_no_prefix_unique_constraint PASSED [ 63%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_options FAILED [ 64%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_prefix_unique_constraint PASSED [ 64%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_query PASSED [ 64%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_query_empty PASSED [ 64%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_query_file PASSED [ 65%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_query_text PASSED [ 65%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_query_update PASSED [ 65%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_stdin PASSED [ 66%] 108s tests/test_utilities/test_csvsql.py::TestCSVSQL::test_stdin_and_filename PASSED [ 66%] 108s tests/test_utilities/test_csvstack.py::TestCSVStack::test_empty PASSED [ 66%] 108s tests/test_utilities/test_csvstack.py::TestCSVStack::test_explicit_grouping PASSED [ 66%] 108s tests/test_utilities/test_csvstack.py::TestCSVStack::test_filenames_grouping PASSED [ 67%] 108s tests/test_utilities/test_csvstack.py::TestCSVStack::test_launch_new_instance PASSED [ 67%] 108s tests/test_utilities/test_csvstack.py::TestCSVStack::test_multiple_file_stack PASSED [ 67%] 108s tests/test_utilities/test_csvstack.py::TestCSVStack::test_multiple_file_stack_col PASSED [ 68%] 108s tests/test_utilities/test_csvstack.py::TestCSVStack::test_multiple_file_stack_col_ragged PASSED [ 68%] 108s tests/test_utilities/test_csvstack.py::TestCSVStack::test_multiple_file_stack_col_ragged_stdin PASSED [ 68%] 108s tests/test_utilities/test_csvstack.py::TestCSVStack::test_options FAILED [ 69%] 108s tests/test_utilities/test_csvstack.py::TestCSVStack::test_single_file_stack PASSED [ 69%] 108s tests/test_utilities/test_csvstack.py::TestCSVStack::test_skip_lines PASSED [ 69%] 108s tests/test_utilities/test_csvstack.py::TestCSVStack::test_skip_lines_stdin PASSED [ 69%] 108s tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_empty PASSED [ 70%] 108s tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_explicit_grouping PASSED [ 70%] 108s tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_filenames_grouping PASSED [ 70%] 108s tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_grouped_filenames PASSED [ 71%] 108s tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_grouped_filenames_and_named_column PASSED [ 71%] 108s tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_grouped_manual_and_named_column PASSED [ 71%] 108s tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_launch_new_instance PASSED [ 71%] 108s tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_multiple_file_stack PASSED [ 72%] 108s tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_multiple_file_stack_col PASSED [ 72%] 108s tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_multiple_file_stack_col_ragged PASSED [ 72%] 108s tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_multiple_file_stack_col_ragged_stdin PASSED [ 73%] 108s tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_no_header_row_basic PASSED [ 73%] 108s tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_no_header_row_basic_stdin PASSED [ 73%] 108s tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_options FAILED [ 74%] 108s tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_single_file_stack PASSED [ 74%] 108s tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_skip_lines PASSED [ 74%] 108s tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_skip_lines_stdin PASSED [ 74%] 108s tests/test_utilities/test_csvstat.py::TestCSVStat::test_columns PASSED [ 75%] 108s tests/test_utilities/test_csvstat.py::TestCSVStat::test_count_only PASSED [ 75%] 108s tests/test_utilities/test_csvstat.py::TestCSVStat::test_csv PASSED [ 75%] 109s tests/test_utilities/test_csvstat.py::TestCSVStat::test_csv_columns PASSED [ 76%] 109s tests/test_utilities/test_csvstat.py::TestCSVStat::test_decimal_format PASSED [ 76%] 109s tests/test_utilities/test_csvstat.py::TestCSVStat::test_empty PASSED [ 76%] 109s tests/test_utilities/test_csvstat.py::TestCSVStat::test_encoding PASSED [ 76%] 109s tests/test_utilities/test_csvstat.py::TestCSVStat::test_format_options FAILED [ 77%] 109s tests/test_utilities/test_csvstat.py::TestCSVStat::test_freq PASSED [ 77%] 110s tests/test_utilities/test_csvstat.py::TestCSVStat::test_freq_count PASSED [ 77%] 110s tests/test_utilities/test_csvstat.py::TestCSVStat::test_freq_list PASSED [ 78%] 110s tests/test_utilities/test_csvstat.py::TestCSVStat::test_invalid_column PASSED [ 78%] 110s tests/test_utilities/test_csvstat.py::TestCSVStat::test_invalid_options PASSED [ 78%] 110s tests/test_utilities/test_csvstat.py::TestCSVStat::test_json PASSED [ 79%] 111s tests/test_utilities/test_csvstat.py::TestCSVStat::test_json_columns PASSED [ 79%] 111s tests/test_utilities/test_csvstat.py::TestCSVStat::test_launch_new_instance PASSED [ 79%] 111s tests/test_utilities/test_csvstat.py::TestCSVStat::test_linenumbers PASSED [ 79%] 111s tests/test_utilities/test_csvstat.py::TestCSVStat::test_max_length PASSED [ 80%] 111s tests/test_utilities/test_csvstat.py::TestCSVStat::test_names PASSED [ 80%] 111s tests/test_utilities/test_csvstat.py::TestCSVStat::test_no_header_row PASSED [ 80%] 111s tests/test_utilities/test_csvstat.py::TestCSVStat::test_options FAILED [ 81%] 111s tests/test_utilities/test_csvstat.py::TestCSVStat::test_runs PASSED [ 81%] 112s tests/test_utilities/test_csvstat.py::TestCSVStat::test_unique PASSED [ 81%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_args FAILED [ 82%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_blanks PASSED [ 82%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_csv PASSED [ 82%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_csv_with_skip_lines PASSED [ 82%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_dbf PASSED [ 83%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_geojson PASSED [ 83%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_json PASSED [ 83%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_ndjson PASSED [ 84%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_nested_json PASSED [ 84%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_tsv PASSED [ 84%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_tsv_streaming PASSED [ 84%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_xls PASSED [ 85%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_xls_with_sheet PASSED [ 85%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_xls_with_skip_lines PASSED [ 85%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_xls_with_unicode_sheet PASSED [ 86%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_xls_with_write_sheets PASSED [ 86%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_xls_with_write_sheets_with_names PASSED [ 86%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_xlsx PASSED [ 87%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_xlsx_with_sheet PASSED [ 87%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_xlsx_with_skip_lines PASSED [ 87%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_xlsx_with_unicode_sheet PASSED [ 87%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_xlsx_with_write_sheets PASSED [ 88%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_xlsx_with_write_sheets_with_names PASSED [ 88%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_csv_datetime_inference PASSED [ 88%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_csv_no_headers PASSED [ 89%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_csv_no_headers_streaming PASSED [ 89%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_csv_no_inference PASSED [ 89%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_date_format PASSED [ 89%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_date_format_default PASSED [ 90%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_date_like_number PASSED [ 90%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_empty PASSED [ 90%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_geojson_no_inference PASSED [ 91%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_json_no_inference PASSED [ 91%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_launch_new_instance PASSED [ 91%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_locale PASSED [ 92%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_names PASSED [ 92%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_names_xls PASSED [ 92%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_names_xlsx PASSED [ 92%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_ndjson_no_inference PASSED [ 93%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_no_blanks PASSED [ 93%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_null_value PASSED [ 93%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_null_value_blanks PASSED [ 94%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_numeric_date_format PASSED [ 94%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_numeric_date_format_default PASSED [ 94%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_options FAILED [ 94%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_version PASSED [ 95%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_xls_no_inference PASSED [ 95%] 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_xlsx_no_inference PASSED [ 95%] 112s tests/test_utilities/test_sql2csv.py::TestSQL2CSV::test_empty PASSED [ 96%] 112s tests/test_utilities/test_sql2csv.py::TestSQL2CSV::test_encoding PASSED [ 96%] 112s tests/test_utilities/test_sql2csv.py::TestSQL2CSV::test_file PASSED [ 96%] 112s tests/test_utilities/test_sql2csv.py::TestSQL2CSV::test_file_with_query PASSED [ 97%] 112s tests/test_utilities/test_sql2csv.py::TestSQL2CSV::test_launch_new_instance PASSED [ 97%] 112s tests/test_utilities/test_sql2csv.py::TestSQL2CSV::test_linenumbers PASSED [ 97%] 112s tests/test_utilities/test_sql2csv.py::TestSQL2CSV::test_no_header_row PASSED [ 97%] 112s tests/test_utilities/test_sql2csv.py::TestSQL2CSV::test_query PASSED [ 98%] 112s tests/test_utilities/test_sql2csv.py::TestSQL2CSV::test_stdin PASSED [ 98%] 112s tests/test_utilities/test_sql2csv.py::TestSQL2CSV::test_stdin_with_file PASSED [ 98%] 112s tests/test_utilities/test_sql2csv.py::TestSQL2CSV::test_stdin_with_file_and_query PASSED [ 99%] 112s tests/test_utilities/test_sql2csv.py::TestSQL2CSV::test_stdin_with_query PASSED [ 99%] 112s tests/test_utilities/test_sql2csv.py::TestSQL2CSV::test_unicode PASSED [ 99%] 112s tests/test_utilities/test_sql2csv.py::TestSQL2CSV::test_wildcard_on_sqlite PASSED [100%] 112s 112s =================================== FAILURES =================================== 112s __________________________ TestCSVClean.test_options ___________________________ 112s 112s self = 112s 112s def test_options(self): 112s for args, message in ( 112s ( 112s [], 112s 'No checks or fixes were enabled. See available options with: csvclean --help', 112s ), 112s ( 112s ['--join-short-rows', '--fill-short-rows'], 112s 'The --join-short-rows and --fill-short-rows options are mutually exclusive.', 112s ), 112s ): 112s with self.subTest(args=args): 112s > self.assertError(launch_new_instance, args, message) 112s 112s tests/test_utilities/test_csvclean.py:62: 112s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 112s tests/utils.py:84: in assertError 112s self.assertEqual(f.getvalue().splitlines()[-1], f'{command}: error: {message}') 112s E AssertionError: 'python3.14 -m pytest: error: No checks or[60 chars]help' != 'csvclean: error: No checks or fixes were [48 chars]help' 112s E - python3.14 -m pytest: error: No checks or fixes were enabled. See available options with: csvclean --help 112s E ? ^^^^^ -------------- 112s E + csvclean: error: No checks or fixes were enabled. See available options with: csvclean --help 112s E ? ^^^^^^^ 112s ___________________________ TestCSVGrep.test_options ___________________________ 112s 112s self = 112s 112s def test_options(self): 112s for args, message in ( 112s ([], 'You must specify at least one column to search using the -c option.'), 112s (['-c', '1'], 'One of -r, -m or -f must be specified, unless using the -n option.'), 112s ): 112s with self.subTest(args=args): 112s > self.assertError(launch_new_instance, args, message) 112s 112s tests/test_utilities/test_csvgrep.py:23: 112s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 112s tests/utils.py:84: in assertError 112s self.assertEqual(f.getvalue().splitlines()[-1], f'{command}: error: {message}') 112s E AssertionError: 'python3.14 -m pytest: error: You must spe[51 chars]ion.' != 'csvgrep: error: You must specify at least[38 chars]ion.' 112s E - python3.14 -m pytest: error: You must specify at least one column to search using the -c option. 112s E ? ------------------- 112s E + csvgrep: error: You must specify at least one column to search using the -c option. 112s E ? ++++++ 112s ________________________ TestCSVJoin.test_join_options _________________________ 112s 112s self = 112s 112s def test_join_options(self): 112s for option in ('--left', '--right', '--outer'): 112s with self.subTest(option=option): 112s > self.assertError( 112s launch_new_instance, 112s [option], 112s 'You must provide join column names when performing an outer join.', 112s ) 112s 112s tests/test_utilities/test_csvjoin.py:31: 112s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 112s tests/utils.py:84: in assertError 112s self.assertEqual(f.getvalue().splitlines()[-1], f'{command}: error: {message}') 112s E AssertionError: 'python3.14 -m pytest: error: You must pro[49 chars]oin.' != 'csvjoin: error: You must provide join col[36 chars]oin.' 112s E - python3.14 -m pytest: error: You must provide join column names when performing an outer join. 112s E ? ^^^^ -------------- 112s E + csvjoin: error: You must provide join column names when performing an outer join. 112s E ? ^^^^ + 112s ___________________________ TestCSVJoin.test_options ___________________________ 112s 112s self = 112s 112s def test_options(self): 112s for args, message in ( 112s ( 112s ['-c' '1,2'], 112s 'The number of join column names must match the number of files, ' 112s 'or be a single column name that exists in all files.', 112s ), 112s (['-c', '1', '--left', '--right'], 'It is not valid to specify both a left and a right join.'), 112s ): 112s with self.subTest(args=args): 112s > self.assertError(launch_new_instance, args, message) 112s 112s tests/test_utilities/test_csvjoin.py:26: 112s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 112s tests/utils.py:84: in assertError 112s self.assertEqual(f.getvalue().splitlines()[-1], f'{command}: error: {message}') 112s E AssertionError: 'python3.14 -m pytest: error: The number o[100 chars]les.' != 'csvjoin: error: The number of join column[87 chars]les.' 112s E - python3.14 -m pytest: error: The number of join column names must match the number of files, or be a single column name that exists in all files. 112s E ? ^^^^ -------------- 112s E + csvjoin: error: The number of join column names must match the number of files, or be a single column name that exists in all files. 112s E ? ^^^^ + 112s _______________________ TestCSVJSON.test_latlon_options ________________________ 112s 112s self = 112s 112s def test_latlon_options(self): 112s for option, message in ( 112s ('lat', '--lon is required whenever --lat is specified.'), 112s ('lon', '--lat is required whenever --lon is specified.'), 112s ('crs', '--crs is only allowed when --lat and --lon are also specified.'), 112s ('type', '--type is only allowed when --lat and --lon are also specified.'), 112s ('geometry', '--geometry is only allowed when --lat and --lon are also specified.'), 112s ): 112s with self.subTest(option=option): 112s > self.assertError(launch_new_instance, [f'--{option}', 'value'], message) 112s 112s tests/test_utilities/test_csvjson.py:33: 112s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 112s tests/utils.py:84: in assertError 112s self.assertEqual(f.getvalue().splitlines()[-1], f'{command}: error: {message}') 112s E AssertionError: 'python3.14 -m pytest: error: --lon is required whenever --lat is specified.' != 'csvjson: error: --lon is required whenever --lat is specified.' 112s E - python3.14 -m pytest: error: --lon is required whenever --lat is specified. 112s E ? ^^^^ -------------- 112s E + csvjson: error: --lon is required whenever --lat is specified. 112s E ? ^^^^^ 112s ___________________________ TestCSVJSON.test_options ___________________________ 112s 112s self = 112s 112s def test_options(self): 112s > self.assertError( 112s launch_new_instance, 112s ['--key', 'value', '--stream'], 112s '--key is only allowed with --stream when --lat and --lon are also specified.', 112s ) 112s 112s tests/test_utilities/test_csvjson.py:18: 112s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 112s tests/utils.py:84: in assertError 112s self.assertEqual(f.getvalue().splitlines()[-1], f'{command}: error: {message}') 112s E AssertionError: 'python3.14 -m pytest: error: --key is onl[60 chars]ied.' != 'csvjson: error: --key is only allowed wit[47 chars]ied.' 112s E - python3.14 -m pytest: error: --key is only allowed with --stream when --lat and --lon are also specified. 112s E ? ^^^^ -------------- 112s E + csvjson: error: --key is only allowed with --stream when --lat and --lon are also specified. 112s E ? ^^^^^ 112s ________________________ TestCSVSQL.test_insert_options ________________________ 112s 112s self = 112s 112s def test_insert_options(self): 112s for args in ( 112s ['--no-create'], 112s ['--create-if-not-exists'], 112s ['--overwrite'], 112s ['--before-insert'], 112s ['--after-insert'], 112s ['--chunk-size', '1'], 112s ): 112s with self.subTest(args=args): 112s > self.assertError( 112s launch_new_instance, 112s args, 112s f'The {args[0]} option is only valid if --insert is also specified.' 112s ) 112s 112s tests/test_utilities/test_csvsql.py:53: 112s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 112s tests/utils.py:84: in assertError 112s self.assertEqual(f.getvalue().splitlines()[-1], f'{command}: error: {message}') 112s E AssertionError: 'python3.14 -m pytest: error: The --no-cre[51 chars]ied.' != 'csvsql: error: The --no-create option is [37 chars]ied.' 112s E - python3.14 -m pytest: error: The --no-create option is only valid if --insert is also specified. 112s E ? ^^^^^^^^^^^^^^^^^^ ^ 112s E + csvsql: error: The --no-create option is only valid if --insert is also specified. 112s E ? ^ ^^^^ 112s ___________________________ TestCSVSQL.test_options ____________________________ 112s 112s self = 112s 112s def test_options(self): 112s for args, message in ( 112s ( 112s ['--db', 'sqlite:///:memory:', '--dialect', 'sqlite'], 112s 'The --dialect option is only valid when neither --db nor --query are specified.', 112s ), 112s ( 112s ['--insert'], 112s 'The --insert option is only valid when either --db or --query is specified.', 112s ), 112s ( 112s ['--db', 'sqlite:///:memory:', '--insert', '--no-create', '--overwrite'], 112s 'The --overwrite option is only valid if --no-create is not specified.', 112s ), 112s ( 112s ['--db', 'sqlite:///:memory:', '--insert', '--no-create', '--create-if-not-exists'], 112s 'The --no-create and --create-if-not-exists options are mutually exclusive.', 112s ), 112s ): 112s with self.subTest(args=args): 112s > self.assertError(launch_new_instance, args, message) 112s 112s tests/test_utilities/test_csvsql.py:41: 112s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 112s tests/utils.py:84: in assertError 112s self.assertEqual(f.getvalue().splitlines()[-1], f'{command}: error: {message}') 112s E AssertionError: 'python3.14 -m pytest: error: The --dialec[63 chars]ied.' != 'csvsql: error: The --dialect option is on[49 chars]ied.' 112s E - python3.14 -m pytest: error: The --dialect option is only valid when neither --db nor --query are specified. 112s E ? ^^^^^^^^^^^^^^^^^^ ^ 112s E + csvsql: error: The --dialect option is only valid when neither --db nor --query are specified. 112s E ? ^ ^^^^ 112s __________________________ TestCSVStack.test_options ___________________________ 112s 112s self = 112s 112s def test_options(self): 112s > self.assertError( 112s launch_new_instance, 112s ['-g', '1,2'], 112s 'The number of grouping values must be equal to the number of CSV files being stacked.', 112s ) 112s 112s tests/test_utilities/test_csvstack.py:17: 112s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 112s tests/utils.py:84: in assertError 112s self.assertEqual(f.getvalue().splitlines()[-1], f'{command}: error: {message}') 112s E AssertionError: 'python3.14 -m pytest: error: The number o[69 chars]ked.' != 'csvstack: error: The number of grouping v[57 chars]ked.' 112s E - python3.14 -m pytest: error: The number of grouping values must be equal to the number of CSV files being stacked. 112s E ? ^^^^^^^^^^^^^^^^^^ 112s E + csvstack: error: The number of grouping values must be equal to the number of CSV files being stacked. 112s E ? ^^^ +++ 112s _________________________ TestNoHeaderRow.test_options _________________________ 112s 112s self = 112s 112s def test_options(self): 112s > self.assertError( 112s launch_new_instance, 112s ['-g', '1,2'], 112s 'The number of grouping values must be equal to the number of CSV files being stacked.', 112s ) 112s 112s tests/test_utilities/test_csvstack.py:17: 112s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 112s tests/utils.py:84: in assertError 112s self.assertEqual(f.getvalue().splitlines()[-1], f'{command}: error: {message}') 112s E AssertionError: 'python3.14 -m pytest: error: The number o[69 chars]ked.' != 'csvstack: error: The number of grouping v[57 chars]ked.' 112s E - python3.14 -m pytest: error: The number of grouping values must be equal to the number of CSV files being stacked. 112s E ? ^^^^^^^^^^^^^^^^^^ 112s E + csvstack: error: The number of grouping values must be equal to the number of CSV files being stacked. 112s E ? ^^^ +++ 112s _______________________ TestCSVStat.test_format_options ________________________ 112s 112s self = 112s 112s def test_format_options(self): 112s for option in ('csv', 'json', 'count'): 112s with self.subTest(option=option): 112s > self.assertError( 112s launch_new_instance, 112s ['--min', f'--{option}'], 112s f'You may not specify --{option} and an operation (--mean, --median, etc) at the same time.', 112s ) 112s 112s tests/test_utilities/test_csvstat.py:28: 112s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 112s tests/utils.py:84: in assertError 112s self.assertEqual(f.getvalue().splitlines()[-1], f'{command}: error: {message}') 112s E AssertionError: 'python3.14 -m pytest: error: You may not [68 chars]ime.' != 'csvstat: error: You may not specify --csv[55 chars]ime.' 112s E - python3.14 -m pytest: error: You may not specify --csv and an operation (--mean, --median, etc) at the same time. 112s E ? ^^^^^^^^^^^^^^^^^^ 112s E + csvstat: error: You may not specify --csv and an operation (--mean, --median, etc) at the same time. 112s E ? ^^^ ++ 112s ___________________________ TestCSVStat.test_options ___________________________ 112s 112s self = 112s 112s def test_options(self): 112s > self.assertError( 112s launch_new_instance, 112s ['--min', '--max'], 112s 'Only one operation argument may be specified (--mean, --median, etc).', 112s ) 112s 112s tests/test_utilities/test_csvstat.py:19: 112s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 112s tests/utils.py:84: in assertError 112s self.assertEqual(f.getvalue().splitlines()[-1], f'{command}: error: {message}') 112s E AssertionError: 'python3.14 -m pytest: error: Only one ope[53 chars]tc).' != 'csvstat: error: Only one operation argume[40 chars]tc).' 112s E - python3.14 -m pytest: error: Only one operation argument may be specified (--mean, --median, etc). 112s E ? ^^^^^^^^^^^^^^^^^^ 112s E + csvstat: error: Only one operation argument may be specified (--mean, --median, etc). 112s E ? ^^^ ++ 112s _____________________________ TestIn2CSV.test_args _____________________________ 112s 112s self = 112s 112s def test_args(self): 112s for args in ([], ['-']): 112s with self.subTest(args=args): 112s > self.assertError( 112s launch_new_instance, 112s [], 112s 'You must specify a format when providing input as piped data via STDIN.', 112s args=args, 112s ) 112s 112s tests/test_utilities/test_in2csv.py:33: 112s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 112s tests/utils.py:84: in assertError 112s self.assertEqual(f.getvalue().splitlines()[-1], f'{command}: error: {message}') 112s E AssertionError: 'python3.14 -m pytest: error: You must spe[55 chars]DIN.' != 'in2csv: error: You must specify a format [41 chars]DIN.' 112s E - python3.14 -m pytest: error: You must specify a format when providing input as piped data via STDIN. 112s E ? ^^^^^ ^^^^^^^^^^^^ ^ 112s E + in2csv: error: You must specify a format when providing input as piped data via STDIN. 112s E ? ^ ^^ ^ 112s ___________________________ TestIn2CSV.test_options ____________________________ 112s 112s self = 112s 112s def test_options(self): 112s for options, args, message in ( 112s ( 112s [], 112s ['dummy.unknown'], 112s 'Unable to automatically determine the format of the input file. ' 112s 'Try specifying a format with --format.', 112s ), 112s ( 112s ['-n'], 112s ['dummy.csv'], 112s 'You cannot use the -n or --names options with non-Excel files.', 112s ), 112s ): 112s with self.subTest(args=options + args): 112s > self.assertError(launch_new_instance, options, message, args=args) 112s 112s tests/test_utilities/test_in2csv.py:55: 112s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 112s tests/utils.py:84: in assertError 112s self.assertEqual(f.getvalue().splitlines()[-1], f'{command}: error: {message}') 112s E AssertionError: 'python3.14 -m pytest: error: Unable to au[86 chars]mat.' != 'in2csv: error: Unable to automatically de[72 chars]mat.' 112s E - python3.14 -m pytest: error: Unable to automatically determine the format of the input file. Try specifying a format with --format. 112s E ? ^^^^^ ^^^^^^^^^^^^ ^ 112s E + in2csv: error: Unable to automatically determine the format of the input file. Try specifying a format with --format. 112s E ? ^ ^^ ^ 112s =============================== warnings summary =============================== 112s ../../../usr/lib/python3/dist-packages/pytimeparse/__init__.py:19 112s /usr/lib/python3/dist-packages/pytimeparse/__init__.py:19: DeprecationWarning: codecs.open() is deprecated. Use open() instead. 112s with open(path.join(path.dirname(__file__), 'VERSION'), 112s 112s tests/test_utilities/test_csvgrep.py: 18 warnings 112s /usr/lib/python3/dist-packages/csvkit/utilities/csvgrep.py:31: PendingDeprecationWarning: FileType is deprecated. Simply open files after parsing arguments. 112s '-f', '--file', dest='matchfile', type=FileType('r'), action='store', 112s 112s tests/test_utilities/test_csvjoin.py: 2 warnings 112s tests/test_utilities/test_csvjson.py: 1 warning 112s tests/test_utilities/test_csvlook.py: 4 warnings 112s tests/test_utilities/test_csvsort.py: 1 warning 112s tests/test_utilities/test_csvsql.py: 2 warnings 112s tests/test_utilities/test_csvstat.py: 1 warning 112s tests/test_utilities/test_in2csv.py: 7 warnings 112s /usr/lib/python3/dist-packages/agate/table/from_csv.py:83: RuntimeWarning: Error sniffing CSV dialect: Could not determine delimiter 112s kwargs['dialect'] = csv.Sniffer().sniff(sample) 112s 112s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_no_inference 112s /usr/lib/python3/dist-packages/agate/utils.py:288: DuplicateColumnWarning: Column name "b2" already exists in Table. Column will be renamed to "b2_2". 112s warn_duplicate_column(new_value, final_value) 112s 112s tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_no_inference 112s /usr/lib/python3/dist-packages/agate/utils.py:288: DuplicateColumnWarning: Column name "c2" already exists in Table. Column will be renamed to "c2_2". 112s warn_duplicate_column(new_value, final_value) 112s 112s tests/test_utilities/test_csvstat.py::TestCSVStat::test_decimal_format 112s tests/test_utilities/test_csvstat.py::TestCSVStat::test_decimal_format 112s /usr/lib/python3/dist-packages/agate/utils.py:272: UnnamedColumnWarning: Column 9 has no name. Using "j". 112s warn_unnamed_column(i, new_value) 112s 112s tests/test_utilities/test_in2csv.py: 10 warnings 112s /usr/lib/python3/dist-packages/agate/utils.py:272: UnnamedColumnWarning: Column 7 has no name. Using "h". 112s warn_unnamed_column(i, new_value) 112s 112s tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_xlsx 112s /usr/lib/python3/dist-packages/openpyxl/worksheet/_reader.py:329: UserWarning: Unknown extension is not supported and will be removed 112s warn(msg) 112s 112s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 112s =========================== short test summary info ============================ 112s FAILED tests/test_utilities/test_csvclean.py::TestCSVClean::test_options - As... 112s FAILED tests/test_utilities/test_csvgrep.py::TestCSVGrep::test_options - Asse... 112s FAILED tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_join_options 112s FAILED tests/test_utilities/test_csvjoin.py::TestCSVJoin::test_options - Asse... 112s FAILED tests/test_utilities/test_csvjson.py::TestCSVJSON::test_latlon_options 112s FAILED tests/test_utilities/test_csvjson.py::TestCSVJSON::test_options - Asse... 112s FAILED tests/test_utilities/test_csvsql.py::TestCSVSQL::test_insert_options 112s FAILED tests/test_utilities/test_csvsql.py::TestCSVSQL::test_options - Assert... 112s FAILED tests/test_utilities/test_csvstack.py::TestCSVStack::test_options - As... 112s FAILED tests/test_utilities/test_csvstack.py::TestNoHeaderRow::test_options 112s FAILED tests/test_utilities/test_csvstat.py::TestCSVStat::test_format_options 112s FAILED tests/test_utilities/test_csvstat.py::TestCSVStat::test_options - Asse... 112s FAILED tests/test_utilities/test_in2csv.py::TestIn2CSV::test_args - Assertion... 112s FAILED tests/test_utilities/test_in2csv.py::TestIn2CSV::test_options - Assert... 112s ================= 14 failed, 325 passed, 52 warnings in 5.09s ================== 112s autopkgtest [11:00:26]: test command1: -----------------------] 113s autopkgtest [11:00:27]: test command1: - - - - - - - - - - results - - - - - - - - - - 113s command1 FAIL non-zero exit status 1 113s autopkgtest [11:00:27]: @@@@@@@@@@@@@@@@@@@@ summary 113s command1 FAIL non-zero exit status 1