I: pbuilder: network access will be disabled during build I: Current time: Tue May 7 13:48:20 +14 2024 I: pbuilder-time-stamp: 1715039300 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [sqlparse_0.4.4-1.dsc] I: copying [./sqlparse_0.4.4.orig.tar.gz] I: copying [./sqlparse_0.4.4-1.debian.tar.xz] I: Extracting source gpgv: Signature made Sat Jan 6 22:27:26 2024 gpgv: using RSA key 03C4E7ABB880F524306E48156611C05EDD39F374 gpgv: issuer "kapouer@melix.org" gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./sqlparse_0.4.4-1.dsc: no acceptable signature found dpkg-source: info: extracting sqlparse in sqlparse-0.4.4 dpkg-source: info: unpacking sqlparse_0.4.4.orig.tar.gz dpkg-source: info: unpacking sqlparse_0.4.4-1.debian.tar.xz I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/3086446/tmp/hooks/D01_modify_environment starting debug: Running on codethink02-arm64. I: Changing host+domainname to test build reproducibility I: Adding a custom variable just for the fun of it... I: Changing /bin/sh to bash '/bin/sh' -> '/bin/bash' lrwxrwxrwx 1 root root 9 May 6 23:48 /bin/sh -> /bin/bash I: Setting pbuilder2's login shell to /bin/bash I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other I: user script /srv/workspace/pbuilder/3086446/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/3086446/tmp/hooks/D02_print_environment starting I: set BASH=/bin/sh BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=([0]="12" [1]="0") BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") BASH_VERSINFO=([0]="5" [1]="2" [2]="21" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") BASH_VERSION='5.2.21(1)-release' BUILDDIR=/build/reproducible-path BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=arm64 DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DIRSTACK=() DISTRIBUTION=trixie EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/root HOSTNAME=i-capture-the-hostname HOSTTYPE=aarch64 HOST_ARCH=arm64 IFS=' ' INVOCATION_ID=35b7add401044ed7b5934464a57248a4 LANG=C LANGUAGE=nl_BE:nl LC_ALL=C MACHTYPE=aarch64-unknown-linux-gnu MAIL=/var/mail/root OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path PBCURRENTCOMMANDLINEOPERATION=build PBUILDER_OPERATION=build PBUILDER_PKGDATADIR=/usr/share/pbuilder PBUILDER_PKGLIBDIR=/usr/lib/pbuilder PBUILDER_SYSCONFDIR=/etc PIPESTATUS=([0]="0") POSIXLY_CORRECT=y PPID=3086446 PS4='+ ' PWD=/ SHELL=/bin/bash SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix SHLVL=3 SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.qBp6BBfR/pbuilderrc_yt9E --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.qBp6BBfR/b2 --logfile b2/build.log sqlparse_0.4.4-1.dsc' SUDO_GID=109 SUDO_UID=104 SUDO_USER=jenkins TERM=unknown TZ=/usr/share/zoneinfo/Etc/GMT-14 UID=0 USER=root _='I: set' http_proxy=http://192.168.101.4:3128 I: uname -a Linux i-capture-the-hostname 6.1.0-20-cloud-arm64 #1 SMP Debian 6.1.85-1 (2024-04-11) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 May 6 11:24 /bin -> usr/bin I: user script /srv/workspace/pbuilder/3086446/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), dh-python, python3-all, pybuild-plugin-pyproject, flit, python3-sphinx, python3-pytest, python3-setuptools dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19743 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on pybuild-plugin-pyproject; however: Package pybuild-plugin-pyproject is not installed. pbuilder-satisfydepends-dummy depends on flit; however: Package flit is not installed. pbuilder-satisfydepends-dummy depends on python3-sphinx; however: Package python3-sphinx is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} docutils-common{a} dwz{a} file{a} flit{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libdebhelper-perl{a} libelf1t64{a} libexpat1{a} libfile-stripnondeterminism-perl{a} libicu72{a} libjs-jquery{a} libjs-sphinxdoc{a} libjs-underscore{a} libjson-perl{a} libmagic-mgc{a} libmagic1t64{a} libpipeline1{a} libpython3-stdlib{a} libpython3.11-minimal{a} libpython3.11-stdlib{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libreadline8t64{a} libsub-override-perl{a} libtool{a} libuchardet0{a} libxml2{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} po-debconf{a} pybuild-plugin-pyproject{a} python-babel-localedata{a} python3{a} python3-alabaster{a} python3-all{a} python3-babel{a} python3-build{a} python3-certifi{a} python3-chardet{a} python3-charset-normalizer{a} python3-distutils{a} python3-docutils{a} python3-idna{a} python3-imagesize{a} python3-iniconfig{a} python3-installer{a} python3-jinja2{a} python3-lib2to3{a} python3-markupsafe{a} python3-minimal{a} python3-packaging{a} python3-pkg-resources{a} python3-pluggy{a} python3-pygments{a} python3-pyproject-hooks{a} python3-pytest{a} python3-requests{a} python3-roman{a} python3-setuptools{a} python3-six{a} python3-snowballstemmer{a} python3-sphinx{a} python3-toml{a} python3-tomli-w{a} python3-urllib3{a} python3-wheel{a} python3.11{a} python3.11-minimal{a} python3.12{a} python3.12-minimal{a} readline-common{a} sensible-utils{a} sgml-base{a} sphinx-common{a} tzdata{a} xml-core{a} The following packages are RECOMMENDED but will NOT be installed: curl javascript-common libarchive-cpio-perl libjson-xs-perl libltdl-dev libmail-sendmail-perl libpaper-utils lynx python3-pil wget 0 packages upgraded, 93 newly installed, 0 to remove and 0 not upgraded. Need to get 42.5 MB of archives. After unpacking 186 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main arm64 libpython3.11-minimal arm64 3.11.9-1 [813 kB] Get: 2 http://deb.debian.org/debian trixie/main arm64 libexpat1 arm64 2.6.2-1 [88.7 kB] Get: 3 http://deb.debian.org/debian trixie/main arm64 python3.11-minimal arm64 3.11.9-1 [1767 kB] Get: 4 http://deb.debian.org/debian trixie/main arm64 python3-minimal arm64 3.11.8-1 [26.3 kB] Get: 5 http://deb.debian.org/debian trixie/main arm64 media-types all 10.1.0 [26.9 kB] Get: 6 http://deb.debian.org/debian trixie/main arm64 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian trixie/main arm64 tzdata all 2024a-3 [255 kB] Get: 8 http://deb.debian.org/debian trixie/main arm64 readline-common all 8.2-4 [69.3 kB] Get: 9 http://deb.debian.org/debian trixie/main arm64 libreadline8t64 arm64 8.2-4 [157 kB] Get: 10 http://deb.debian.org/debian trixie/main arm64 libpython3.11-stdlib arm64 3.11.9-1 [1775 kB] Get: 11 http://deb.debian.org/debian trixie/main arm64 python3.11 arm64 3.11.9-1 [602 kB] Get: 12 http://deb.debian.org/debian trixie/main arm64 libpython3-stdlib arm64 3.11.8-1 [9332 B] Get: 13 http://deb.debian.org/debian trixie/main arm64 python3 arm64 3.11.8-1 [27.4 kB] Get: 14 http://deb.debian.org/debian trixie/main arm64 libpython3.12-minimal arm64 3.12.3-1 [802 kB] Get: 15 http://deb.debian.org/debian trixie/main arm64 python3.12-minimal arm64 3.12.3-1 [1931 kB] Get: 16 http://deb.debian.org/debian trixie/main arm64 sgml-base all 1.31 [15.4 kB] Get: 17 http://deb.debian.org/debian trixie/main arm64 sensible-utils all 0.0.22 [22.4 kB] Get: 18 http://deb.debian.org/debian trixie/main arm64 openssl arm64 3.2.1-3 [1324 kB] Get: 19 http://deb.debian.org/debian trixie/main arm64 ca-certificates all 20240203 [158 kB] Get: 20 http://deb.debian.org/debian trixie/main arm64 libmagic-mgc arm64 1:5.45-3 [314 kB] Get: 21 http://deb.debian.org/debian trixie/main arm64 libmagic1t64 arm64 1:5.45-3 [100 kB] Get: 22 http://deb.debian.org/debian trixie/main arm64 file arm64 1:5.45-3 [43.0 kB] Get: 23 http://deb.debian.org/debian trixie/main arm64 gettext-base arm64 0.21-14+b1 [160 kB] Get: 24 http://deb.debian.org/debian trixie/main arm64 libuchardet0 arm64 0.0.8-1+b1 [69.0 kB] Get: 25 http://deb.debian.org/debian trixie/main arm64 groff-base arm64 1.23.0-4 [1130 kB] Get: 26 http://deb.debian.org/debian trixie/main arm64 bsdextrautils arm64 2.40-8 [93.0 kB] Get: 27 http://deb.debian.org/debian trixie/main arm64 libpipeline1 arm64 1.5.7-2 [36.5 kB] Get: 28 http://deb.debian.org/debian trixie/main arm64 man-db arm64 2.12.1-1 [1394 kB] Get: 29 http://deb.debian.org/debian trixie/main arm64 m4 arm64 1.4.19-4 [277 kB] Get: 30 http://deb.debian.org/debian trixie/main arm64 autoconf all 2.71-3 [332 kB] Get: 31 http://deb.debian.org/debian trixie/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 32 http://deb.debian.org/debian trixie/main arm64 automake all 1:1.16.5-1.3 [823 kB] Get: 33 http://deb.debian.org/debian trixie/main arm64 autopoint all 0.21-14 [496 kB] Get: 34 http://deb.debian.org/debian trixie/main arm64 libdebhelper-perl all 13.15.3 [88.0 kB] Get: 35 http://deb.debian.org/debian trixie/main arm64 libtool all 2.4.7-7 [517 kB] Get: 36 http://deb.debian.org/debian trixie/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 37 http://deb.debian.org/debian trixie/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 38 http://deb.debian.org/debian trixie/main arm64 libsub-override-perl all 0.10-1 [10.6 kB] Get: 39 http://deb.debian.org/debian trixie/main arm64 libfile-stripnondeterminism-perl all 1.13.1-1 [19.4 kB] Get: 40 http://deb.debian.org/debian trixie/main arm64 dh-strip-nondeterminism all 1.13.1-1 [8620 B] Get: 41 http://deb.debian.org/debian trixie/main arm64 libelf1t64 arm64 0.191-1+b1 [187 kB] Get: 42 http://deb.debian.org/debian trixie/main arm64 dwz arm64 0.15-1+b1 [102 kB] Get: 43 http://deb.debian.org/debian trixie/main arm64 libicu72 arm64 72.1-4+b1 [9224 kB] Get: 44 http://deb.debian.org/debian trixie/main arm64 libxml2 arm64 2.9.14+dfsg-1.3+b3 [624 kB] Get: 45 http://deb.debian.org/debian trixie/main arm64 gettext arm64 0.21-14+b1 [1249 kB] Get: 46 http://deb.debian.org/debian trixie/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 47 http://deb.debian.org/debian trixie/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 48 http://deb.debian.org/debian trixie/main arm64 debhelper all 13.15.3 [901 kB] Get: 49 http://deb.debian.org/debian trixie/main arm64 python3-pkg-resources all 68.1.2-2 [241 kB] Get: 50 http://deb.debian.org/debian trixie/main arm64 python3-lib2to3 all 3.12.3-1 [77.6 kB] Get: 51 http://deb.debian.org/debian trixie/main arm64 python3-distutils all 3.12.3-1 [131 kB] Get: 52 http://deb.debian.org/debian trixie/main arm64 python3-setuptools all 68.1.2-2 [468 kB] Get: 53 http://deb.debian.org/debian trixie/main arm64 dh-python all 6.20240422 [107 kB] Get: 54 http://deb.debian.org/debian trixie/main arm64 xml-core all 0.19 [20.1 kB] Get: 55 http://deb.debian.org/debian trixie/main arm64 docutils-common all 0.20.1+dfsg-3 [128 kB] Get: 56 http://deb.debian.org/debian trixie/main arm64 python3-roman all 3.3-3 [9880 B] Get: 57 http://deb.debian.org/debian trixie/main arm64 python3-docutils all 0.20.1+dfsg-3 [389 kB] Get: 58 http://deb.debian.org/debian trixie/main arm64 python3-certifi all 2023.11.17-1 [155 kB] Get: 59 http://deb.debian.org/debian trixie/main arm64 python3-charset-normalizer all 3.3.2-1 [51.6 kB] Get: 60 http://deb.debian.org/debian trixie/main arm64 python3-idna all 3.6-2 [37.0 kB] Get: 61 http://deb.debian.org/debian trixie/main arm64 python3-six all 1.16.0-6 [16.3 kB] Get: 62 http://deb.debian.org/debian trixie/main arm64 python3-urllib3 all 1.26.18-2 [116 kB] Get: 63 http://deb.debian.org/debian trixie/main arm64 python3-chardet all 5.2.0+dfsg-1 [107 kB] Get: 64 http://deb.debian.org/debian trixie/main arm64 python3-requests all 2.31.0+dfsg-1 [68.6 kB] Get: 65 http://deb.debian.org/debian trixie/main arm64 python3-tomli-w all 1.0.0-2 [8012 B] Get: 66 http://deb.debian.org/debian trixie/main arm64 flit all 3.9.0-2 [93.4 kB] Get: 67 http://deb.debian.org/debian trixie/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 68 http://deb.debian.org/debian trixie/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 69 http://deb.debian.org/debian trixie/main arm64 libjs-sphinxdoc all 7.2.6-6 [150 kB] Get: 70 http://deb.debian.org/debian trixie/main arm64 libjson-perl all 4.10000-1 [87.5 kB] Get: 71 http://deb.debian.org/debian trixie/main arm64 libpython3.12-stdlib arm64 3.12.3-1 [1889 kB] Get: 72 http://deb.debian.org/debian trixie/main arm64 python3-packaging all 24.0-1 [45.5 kB] Get: 73 http://deb.debian.org/debian trixie/main arm64 python3-pyproject-hooks all 1.0.0-2 [10.6 kB] Get: 74 http://deb.debian.org/debian trixie/main arm64 python3-toml all 0.10.2-1 [16.2 kB] Get: 75 http://deb.debian.org/debian trixie/main arm64 python3-wheel all 0.43.0-1 [52.5 kB] Get: 76 http://deb.debian.org/debian trixie/main arm64 python3-build all 1.1.1-1 [32.5 kB] Get: 77 http://deb.debian.org/debian trixie/main arm64 python3-installer all 0.7.0+dfsg1-3 [18.6 kB] Get: 78 http://deb.debian.org/debian trixie/main arm64 pybuild-plugin-pyproject all 6.20240422 [11.1 kB] Get: 79 http://deb.debian.org/debian trixie/main arm64 python-babel-localedata all 2.14.0-1 [5701 kB] Get: 80 http://deb.debian.org/debian trixie/main arm64 python3-alabaster all 0.7.12-1 [20.8 kB] Get: 81 http://deb.debian.org/debian trixie/main arm64 python3.12 arm64 3.12.3-1 [659 kB] Get: 82 http://deb.debian.org/debian trixie/main arm64 python3-all arm64 3.11.8-1 [1056 B] Get: 83 http://deb.debian.org/debian trixie/main arm64 python3-babel all 2.14.0-1 [111 kB] Get: 84 http://deb.debian.org/debian trixie/main arm64 python3-imagesize all 1.4.1-1 [6688 B] Get: 85 http://deb.debian.org/debian trixie/main arm64 python3-iniconfig all 1.1.1-2 [6396 B] Get: 86 http://deb.debian.org/debian trixie/main arm64 python3-markupsafe arm64 2.1.5-1 [14.6 kB] Get: 87 http://deb.debian.org/debian trixie/main arm64 python3-jinja2 all 3.1.3-1 [119 kB] Get: 88 http://deb.debian.org/debian trixie/main arm64 python3-pluggy all 1.5.0-1 [26.9 kB] Get: 89 http://deb.debian.org/debian trixie/main arm64 python3-pygments all 2.17.2+dfsg-1 [818 kB] Get: 90 http://deb.debian.org/debian trixie/main arm64 python3-pytest all 7.4.4-3 [239 kB] Get: 91 http://deb.debian.org/debian trixie/main arm64 python3-snowballstemmer all 2.2.0-4 [58.0 kB] Get: 92 http://deb.debian.org/debian trixie/main arm64 sphinx-common all 7.2.6-6 [702 kB] Get: 93 http://deb.debian.org/debian trixie/main arm64 python3-sphinx all 7.2.6-6 [552 kB] Fetched 42.5 MB in 0s (151 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.11-minimal:arm64. (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 ... 19743 files and directories currently installed.) Preparing to unpack .../libpython3.11-minimal_3.11.9-1_arm64.deb ... Unpacking libpython3.11-minimal:arm64 (3.11.9-1) ... Selecting previously unselected package libexpat1:arm64. Preparing to unpack .../libexpat1_2.6.2-1_arm64.deb ... Unpacking libexpat1:arm64 (2.6.2-1) ... Selecting previously unselected package python3.11-minimal. Preparing to unpack .../python3.11-minimal_3.11.9-1_arm64.deb ... Unpacking python3.11-minimal (3.11.9-1) ... Setting up libpython3.11-minimal:arm64 (3.11.9-1) ... Setting up libexpat1:arm64 (2.6.2-1) ... Setting up python3.11-minimal (3.11.9-1) ... Selecting previously unselected package python3-minimal. (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 ... 20059 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.11.8-1_arm64.deb ... Unpacking python3-minimal (3.11.8-1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2024a-3_all.deb ... Unpacking tzdata (2024a-3) ... Selecting previously unselected package readline-common. Preparing to unpack .../4-readline-common_8.2-4_all.deb ... Unpacking readline-common (8.2-4) ... Selecting previously unselected package libreadline8t64:arm64. Preparing to unpack .../5-libreadline8t64_8.2-4_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8 to /lib/aarch64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8.2 to /lib/aarch64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8 to /lib/aarch64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8.2 to /lib/aarch64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:arm64 (8.2-4) ... Selecting previously unselected package libpython3.11-stdlib:arm64. Preparing to unpack .../6-libpython3.11-stdlib_3.11.9-1_arm64.deb ... Unpacking libpython3.11-stdlib:arm64 (3.11.9-1) ... Selecting previously unselected package python3.11. Preparing to unpack .../7-python3.11_3.11.9-1_arm64.deb ... Unpacking python3.11 (3.11.9-1) ... Selecting previously unselected package libpython3-stdlib:arm64. Preparing to unpack .../8-libpython3-stdlib_3.11.8-1_arm64.deb ... Unpacking libpython3-stdlib:arm64 (3.11.8-1) ... Setting up python3-minimal (3.11.8-1) ... Selecting previously unselected package python3. (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 ... 21051 files and directories currently installed.) Preparing to unpack .../00-python3_3.11.8-1_arm64.deb ... Unpacking python3 (3.11.8-1) ... Selecting previously unselected package libpython3.12-minimal:arm64. Preparing to unpack .../01-libpython3.12-minimal_3.12.3-1_arm64.deb ... Unpacking libpython3.12-minimal:arm64 (3.12.3-1) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../02-python3.12-minimal_3.12.3-1_arm64.deb ... Unpacking python3.12-minimal (3.12.3-1) ... Selecting previously unselected package sgml-base. Preparing to unpack .../03-sgml-base_1.31_all.deb ... Unpacking sgml-base (1.31) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../04-sensible-utils_0.0.22_all.deb ... Unpacking sensible-utils (0.0.22) ... Selecting previously unselected package openssl. Preparing to unpack .../05-openssl_3.2.1-3_arm64.deb ... Unpacking openssl (3.2.1-3) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../06-ca-certificates_20240203_all.deb ... Unpacking ca-certificates (20240203) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../07-libmagic-mgc_1%3a5.45-3_arm64.deb ... Unpacking libmagic-mgc (1:5.45-3) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../08-libmagic1t64_1%3a5.45-3_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.45-3) ... Selecting previously unselected package file. Preparing to unpack .../09-file_1%3a5.45-3_arm64.deb ... Unpacking file (1:5.45-3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../10-gettext-base_0.21-14+b1_arm64.deb ... Unpacking gettext-base (0.21-14+b1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../11-libuchardet0_0.0.8-1+b1_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-1+b1) ... Selecting previously unselected package groff-base. Preparing to unpack .../12-groff-base_1.23.0-4_arm64.deb ... Unpacking groff-base (1.23.0-4) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../13-bsdextrautils_2.40-8_arm64.deb ... Unpacking bsdextrautils (2.40-8) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../14-libpipeline1_1.5.7-2_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.7-2) ... Selecting previously unselected package man-db. Preparing to unpack .../15-man-db_2.12.1-1_arm64.deb ... Unpacking man-db (2.12.1-1) ... Selecting previously unselected package m4. Preparing to unpack .../16-m4_1.4.19-4_arm64.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../17-autoconf_2.71-3_all.deb ... Unpacking autoconf (2.71-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../18-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../19-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../20-autopoint_0.21-14_all.deb ... Unpacking autopoint (0.21-14) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../21-libdebhelper-perl_13.15.3_all.deb ... Unpacking libdebhelper-perl (13.15.3) ... Selecting previously unselected package libtool. Preparing to unpack .../22-libtool_2.4.7-7_all.deb ... Unpacking libtool (2.4.7-7) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../23-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../24-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libsub-override-perl. Preparing to unpack .../25-libsub-override-perl_0.10-1_all.deb ... Unpacking libsub-override-perl (0.10-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../26-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../27-dh-strip-nondeterminism_1.13.1-1_all.deb ... Unpacking dh-strip-nondeterminism (1.13.1-1) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../28-libelf1t64_0.191-1+b1_arm64.deb ... Unpacking libelf1t64:arm64 (0.191-1+b1) ... Selecting previously unselected package dwz. Preparing to unpack .../29-dwz_0.15-1+b1_arm64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../30-libicu72_72.1-4+b1_arm64.deb ... Unpacking libicu72:arm64 (72.1-4+b1) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../31-libxml2_2.9.14+dfsg-1.3+b3_arm64.deb ... Unpacking libxml2:arm64 (2.9.14+dfsg-1.3+b3) ... Selecting previously unselected package gettext. Preparing to unpack .../32-gettext_0.21-14+b1_arm64.deb ... Unpacking gettext (0.21-14+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../33-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../34-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../35-debhelper_13.15.3_all.deb ... Unpacking debhelper (13.15.3) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../36-python3-pkg-resources_68.1.2-2_all.deb ... Unpacking python3-pkg-resources (68.1.2-2) ... Selecting previously unselected package python3-lib2to3. Preparing to unpack .../37-python3-lib2to3_3.12.3-1_all.deb ... Unpacking python3-lib2to3 (3.12.3-1) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../38-python3-distutils_3.12.3-1_all.deb ... Unpacking python3-distutils (3.12.3-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../39-python3-setuptools_68.1.2-2_all.deb ... Unpacking python3-setuptools (68.1.2-2) ... Selecting previously unselected package dh-python. Preparing to unpack .../40-dh-python_6.20240422_all.deb ... Unpacking dh-python (6.20240422) ... Selecting previously unselected package xml-core. Preparing to unpack .../41-xml-core_0.19_all.deb ... Unpacking xml-core (0.19) ... Selecting previously unselected package docutils-common. Preparing to unpack .../42-docutils-common_0.20.1+dfsg-3_all.deb ... Unpacking docutils-common (0.20.1+dfsg-3) ... Selecting previously unselected package python3-roman. Preparing to unpack .../43-python3-roman_3.3-3_all.deb ... Unpacking python3-roman (3.3-3) ... Selecting previously unselected package python3-docutils. Preparing to unpack .../44-python3-docutils_0.20.1+dfsg-3_all.deb ... Unpacking python3-docutils (0.20.1+dfsg-3) ... Selecting previously unselected package python3-certifi. Preparing to unpack .../45-python3-certifi_2023.11.17-1_all.deb ... Unpacking python3-certifi (2023.11.17-1) ... Selecting previously unselected package python3-charset-normalizer. Preparing to unpack .../46-python3-charset-normalizer_3.3.2-1_all.deb ... Unpacking python3-charset-normalizer (3.3.2-1) ... Selecting previously unselected package python3-idna. Preparing to unpack .../47-python3-idna_3.6-2_all.deb ... Unpacking python3-idna (3.6-2) ... Selecting previously unselected package python3-six. Preparing to unpack .../48-python3-six_1.16.0-6_all.deb ... Unpacking python3-six (1.16.0-6) ... Selecting previously unselected package python3-urllib3. Preparing to unpack .../49-python3-urllib3_1.26.18-2_all.deb ... Unpacking python3-urllib3 (1.26.18-2) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../50-python3-chardet_5.2.0+dfsg-1_all.deb ... Unpacking python3-chardet (5.2.0+dfsg-1) ... Selecting previously unselected package python3-requests. Preparing to unpack .../51-python3-requests_2.31.0+dfsg-1_all.deb ... Unpacking python3-requests (2.31.0+dfsg-1) ... Selecting previously unselected package python3-tomli-w. Preparing to unpack .../52-python3-tomli-w_1.0.0-2_all.deb ... Unpacking python3-tomli-w (1.0.0-2) ... Selecting previously unselected package flit. Preparing to unpack .../53-flit_3.9.0-2_all.deb ... Unpacking flit (3.9.0-2) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../54-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../55-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../56-libjs-sphinxdoc_7.2.6-6_all.deb ... Unpacking libjs-sphinxdoc (7.2.6-6) ... Selecting previously unselected package libjson-perl. Preparing to unpack .../57-libjson-perl_4.10000-1_all.deb ... Unpacking libjson-perl (4.10000-1) ... Selecting previously unselected package libpython3.12-stdlib:arm64. Preparing to unpack .../58-libpython3.12-stdlib_3.12.3-1_arm64.deb ... Unpacking libpython3.12-stdlib:arm64 (3.12.3-1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../59-python3-packaging_24.0-1_all.deb ... Unpacking python3-packaging (24.0-1) ... Selecting previously unselected package python3-pyproject-hooks. Preparing to unpack .../60-python3-pyproject-hooks_1.0.0-2_all.deb ... Unpacking python3-pyproject-hooks (1.0.0-2) ... Selecting previously unselected package python3-toml. Preparing to unpack .../61-python3-toml_0.10.2-1_all.deb ... Unpacking python3-toml (0.10.2-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../62-python3-wheel_0.43.0-1_all.deb ... Unpacking python3-wheel (0.43.0-1) ... Selecting previously unselected package python3-build. Preparing to unpack .../63-python3-build_1.1.1-1_all.deb ... Unpacking python3-build (1.1.1-1) ... Selecting previously unselected package python3-installer. Preparing to unpack .../64-python3-installer_0.7.0+dfsg1-3_all.deb ... Unpacking python3-installer (0.7.0+dfsg1-3) ... Selecting previously unselected package pybuild-plugin-pyproject. Preparing to unpack .../65-pybuild-plugin-pyproject_6.20240422_all.deb ... Unpacking pybuild-plugin-pyproject (6.20240422) ... Selecting previously unselected package python-babel-localedata. Preparing to unpack .../66-python-babel-localedata_2.14.0-1_all.deb ... Unpacking python-babel-localedata (2.14.0-1) ... Selecting previously unselected package python3-alabaster. Preparing to unpack .../67-python3-alabaster_0.7.12-1_all.deb ... Unpacking python3-alabaster (0.7.12-1) ... Selecting previously unselected package python3.12. Preparing to unpack .../68-python3.12_3.12.3-1_arm64.deb ... Unpacking python3.12 (3.12.3-1) ... Selecting previously unselected package python3-all. Preparing to unpack .../69-python3-all_3.11.8-1_arm64.deb ... Unpacking python3-all (3.11.8-1) ... Selecting previously unselected package python3-babel. Preparing to unpack .../70-python3-babel_2.14.0-1_all.deb ... Unpacking python3-babel (2.14.0-1) ... Selecting previously unselected package python3-imagesize. Preparing to unpack .../71-python3-imagesize_1.4.1-1_all.deb ... Unpacking python3-imagesize (1.4.1-1) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../72-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-markupsafe. Preparing to unpack .../73-python3-markupsafe_2.1.5-1_arm64.deb ... Unpacking python3-markupsafe (2.1.5-1) ... Selecting previously unselected package python3-jinja2. Preparing to unpack .../74-python3-jinja2_3.1.3-1_all.deb ... Unpacking python3-jinja2 (3.1.3-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../75-python3-pluggy_1.5.0-1_all.deb ... Unpacking python3-pluggy (1.5.0-1) ... Selecting previously unselected package python3-pygments. Preparing to unpack .../76-python3-pygments_2.17.2+dfsg-1_all.deb ... Unpacking python3-pygments (2.17.2+dfsg-1) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../77-python3-pytest_7.4.4-3_all.deb ... Unpacking python3-pytest (7.4.4-3) ... Selecting previously unselected package python3-snowballstemmer. Preparing to unpack .../78-python3-snowballstemmer_2.2.0-4_all.deb ... Unpacking python3-snowballstemmer (2.2.0-4) ... Selecting previously unselected package sphinx-common. Preparing to unpack .../79-sphinx-common_7.2.6-6_all.deb ... Unpacking sphinx-common (7.2.6-6) ... Selecting previously unselected package python3-sphinx. Preparing to unpack .../80-python3-sphinx_7.2.6-6_all.deb ... Unpacking python3-sphinx (7.2.6-6) ... Setting up media-types (10.1.0) ... Setting up libpipeline1:arm64 (1.5.7-2) ... Setting up libicu72:arm64 (72.1-4+b1) ... Setting up bsdextrautils (2.40-8) ... Setting up libmagic-mgc (1:5.45-3) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.15.3) ... Setting up libmagic1t64:arm64 (1:5.45-3) ... Setting up libpython3.12-minimal:arm64 (3.12.3-1) ... Setting up gettext-base (0.21-14+b1) ... Setting up m4 (1.4.19-4) ... Setting up file (1:5.45-3) ... Setting up libelf1t64:arm64 (0.191-1+b1) ... Setting up python-babel-localedata (2.14.0-1) ... Setting up tzdata (2024a-3) ... Current default time zone: 'Etc/UTC' Local time is now: Mon May 6 23:48:39 UTC 2024. Universal Time is now: Mon May 6 23:48:39 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... Setting up autopoint (0.21-14) ... Setting up autoconf (2.71-3) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.22) ... Setting up libuchardet0:arm64 (0.0.8-1+b1) ... Setting up libjson-perl (4.10000-1) ... Setting up libsub-override-perl (0.10-1) ... Setting up netbase (6.4) ... Setting up sgml-base (1.31) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up openssl (3.2.1-3) ... Setting up readline-common (8.2-4) ... Setting up libxml2:arm64 (2.9.14+dfsg-1.3+b3) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... Setting up python3.12-minimal (3.12.3-1) ... Setting up gettext (0.21-14+b1) ... Setting up libtool (2.4.7-7) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 146 added, 0 removed; done. Setting up libjs-sphinxdoc (7.2.6-6) ... Setting up libreadline8t64:arm64 (8.2-4) ... Setting up dh-strip-nondeterminism (1.13.1-1) ... Setting up groff-base (1.23.0-4) ... Setting up xml-core (0.19) ... Setting up libpython3.12-stdlib:arm64 (3.12.3-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libpython3.11-stdlib:arm64 (3.11.9-1) ... Setting up python3.12 (3.12.3-1) ... Setting up man-db (2.12.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up sphinx-common (7.2.6-6) ... Setting up libpython3-stdlib:arm64 (3.11.8-1) ... Setting up python3.11 (3.11.9-1) ... Setting up debhelper (13.15.3) ... Setting up python3 (3.11.8-1) ... Setting up python3-markupsafe (2.1.5-1) ... Setting up python3-wheel (0.43.0-1) ... Setting up python3-six (1.16.0-6) ... Setting up python3-roman (3.3-3) ... Setting up python3-jinja2 (3.1.3-1) ... Setting up python3-packaging (24.0-1) ... Setting up python3-pyproject-hooks (1.0.0-2) ... Setting up python3-certifi (2023.11.17-1) ... Setting up python3-snowballstemmer (2.2.0-4) ... Setting up python3-idna (3.6-2) ... Setting up python3-toml (0.10.2-1) ... Setting up python3-installer (0.7.0+dfsg1-3) ... Setting up python3-urllib3 (1.26.18-2) ... Setting up python3-pluggy (1.5.0-1) ... Setting up python3-build (1.1.1-1) ... Setting up python3-lib2to3 (3.12.3-1) ... Setting up python3-tomli-w (1.0.0-2) ... Setting up python3-imagesize (1.4.1-1) ... Setting up python3-pkg-resources (68.1.2-2) ... Setting up python3-distutils (3.12.3-1) ... python3.12: can't get files for byte-compilation Setting up python3-iniconfig (1.1.1-2) ... Setting up python3-setuptools (68.1.2-2) ... Setting up python3-babel (2.14.0-1) ... update-alternatives: using /usr/bin/pybabel-python3 to provide /usr/bin/pybabel (pybabel) in auto mode Setting up python3-charset-normalizer (3.3.2-1) ... Setting up python3-pytest (7.4.4-3) ... Setting up python3-alabaster (0.7.12-1) ... Setting up python3-all (3.11.8-1) ... Setting up python3-pygments (2.17.2+dfsg-1) ... Setting up python3-chardet (5.2.0+dfsg-1) ... Setting up python3-requests (2.31.0+dfsg-1) ... Setting up dh-python (6.20240422) ... Setting up pybuild-plugin-pyproject (6.20240422) ... Processing triggers for libc-bin (2.38-7) ... Processing triggers for sgml-base (1.31) ... Setting up docutils-common (0.20.1+dfsg-3) ... Processing triggers for sgml-base (1.31) ... Setting up python3-docutils (0.20.1+dfsg-3) ... Setting up flit (3.9.0-2) ... Setting up python3-sphinx (7.2.6-6) ... Processing triggers for ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: user script /srv/workspace/pbuilder/3086446/tmp/hooks/A99_set_merged_usr starting Not re-configuring usrmerge for trixie I: user script /srv/workspace/pbuilder/3086446/tmp/hooks/A99_set_merged_usr finished hostname: Name or service not known I: Running cd /build/reproducible-path/sqlparse-0.4.4/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../sqlparse_0.4.4-1_source.changes dpkg-buildpackage: info: source package sqlparse dpkg-buildpackage: info: source version 0.4.4-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Jérémy Lal dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --with python3,sphinxdoc --buildsystem pybuild debian/rules override_dh_auto_clean make[1]: Entering directory '/build/reproducible-path/sqlparse-0.4.4' dh_auto_clean rm -rf docs/build make[1]: Leaving directory '/build/reproducible-path/sqlparse-0.4.4' dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --with python3,sphinxdoc --buildsystem pybuild debian/rules build make[1]: Entering directory '/build/reproducible-path/sqlparse-0.4.4' cd docs && /usr/bin/make html make[2]: Entering directory '/build/reproducible-path/sqlparse-0.4.4/docs' sphinx-build -b html -d build/doctrees source build/html Running Sphinx v7.2.6 making output directory... done [autosummary] generating autosummary for: analyzing.rst, api.rst, changes.rst, extending.rst, index.rst, indices.rst, intro.rst, license.rst, ui.rst building [mo]: targets for 0 po files that are out of date writing output... building [html]: targets for 9 source files that are out of date updating environment: [new config] 9 added, 0 changed, 0 removed reading sources... [ 11%] analyzing reading sources... [ 22%] api reading sources... [ 33%] changes reading sources... [ 44%] extending reading sources... [ 56%] index reading sources... [ 67%] indices reading sources... [ 78%] intro reading sources... [ 89%] license reading sources... [100%] ui /build/reproducible-path/sqlparse-0.4.4/docs/source/extending.rst:4: WARNING: duplicate object description of sqlparse, other instance in api, use :no-index: for one of them looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying static files... done copying extra files... done done writing output... [ 11%] analyzing writing output... [ 22%] api writing output... [ 33%] changes writing output... [ 44%] extending writing output... [ 56%] index writing output... [ 67%] indices writing output... [ 78%] intro writing output... [ 89%] license writing output... [100%] ui generating indices... genindex py-modindex done writing additional pages... search done dumping search index in English (code: en)... done dumping object inventory... done build succeeded, 1 warning. The HTML pages are in build/html. Build finished. The HTML pages are in build/html. make[2]: Leaving directory '/build/reproducible-path/sqlparse-0.4.4/docs' dh build-indep --with python3,sphinxdoc --buildsystem pybuild dh_update_autotools_config -i -O--buildsystem=pybuild dh_autoreconf -i -O--buildsystem=pybuild dh_auto_configure -i -O--buildsystem=pybuild dh_auto_build -i -O--buildsystem=pybuild I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build" module I: pybuild base:311: python3.12 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/reproducible-path/sqlparse-0.4.4/.pybuild/cpython3_3.12_sqlparse * Building wheel... Successfully built sqlparse-0.4.4-py3-none-any.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with "installer" module I: pybuild plugin_pyproject:129: Building wheel for python3.11 with "build" module I: pybuild base:311: python3.11 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/reproducible-path/sqlparse-0.4.4/.pybuild/cpython3_3.11_sqlparse * Building wheel... Successfully built sqlparse-0.4.4-py3-none-any.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.11 with "installer" module dh_auto_test -i -O--buildsystem=pybuild I: pybuild base:311: cd /build/reproducible-path/sqlparse-0.4.4/.pybuild/cpython3_3.12_sqlparse/build; python3.12 -m pytest -v ============================= test session starts ============================== platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 cachedir: .pytest_cache rootdir: /build/reproducible-path/sqlparse-0.4.4/.pybuild/cpython3_3.12_sqlparse/build collecting ... collected 430 items tests/test_cli.py::test_cli_main_empty PASSED [ 0%] tests/test_cli.py::test_parser_empty PASSED [ 0%] tests/test_cli.py::test_main_help PASSED [ 0%] tests/test_cli.py::test_valid_args PASSED [ 0%] tests/test_cli.py::test_invalid_choice PASSED [ 1%] tests/test_cli.py::test_invalid_args PASSED [ 1%] tests/test_cli.py::test_invalid_infile PASSED [ 1%] tests/test_cli.py::test_invalid_outfile PASSED [ 1%] tests/test_cli.py::test_stdout PASSED [ 2%] tests/test_cli.py::test_script PASSED [ 2%] tests/test_cli.py::test_encoding_stdout[encoding_utf8.sql-utf-8] PASSED [ 2%] tests/test_cli.py::test_encoding_stdout[encoding_gbk.sql-gbk] PASSED [ 2%] tests/test_cli.py::test_encoding_output_file[encoding_utf8.sql-utf-8] PASSED [ 3%] tests/test_cli.py::test_encoding_output_file[encoding_gbk.sql-gbk] PASSED [ 3%] tests/test_cli.py::test_encoding_stdin[encoding_utf8.sql-utf-8] PASSED [ 3%] tests/test_cli.py::test_encoding_stdin[encoding_gbk.sql-gbk] PASSED [ 3%] tests/test_cli.py::test_encoding PASSED [ 3%] tests/test_format.py::TestFormat::test_keywordcase PASSED [ 4%] tests/test_format.py::TestFormat::test_keywordcase_invalid_option PASSED [ 4%] tests/test_format.py::TestFormat::test_identifiercase PASSED [ 4%] tests/test_format.py::TestFormat::test_identifiercase_invalid_option PASSED [ 4%] tests/test_format.py::TestFormat::test_identifiercase_quotes PASSED [ 5%] tests/test_format.py::TestFormat::test_strip_comments_single PASSED [ 5%] tests/test_format.py::TestFormat::test_strip_comments_invalid_option PASSED [ 5%] tests/test_format.py::TestFormat::test_strip_comments_multi PASSED [ 5%] tests/test_format.py::TestFormat::test_strip_comments_preserves_linebreak PASSED [ 6%] tests/test_format.py::TestFormat::test_strip_ws PASSED [ 6%] tests/test_format.py::TestFormat::test_strip_ws_invalid_option PASSED [ 6%] tests/test_format.py::TestFormat::test_preserve_ws PASSED [ 6%] tests/test_format.py::TestFormat::test_notransform_of_quoted_crlf PASSED [ 6%] tests/test_format.py::TestFormatReindentAligned::test_basic PASSED [ 7%] tests/test_format.py::TestFormatReindentAligned::test_joins PASSED [ 7%] tests/test_format.py::TestFormatReindentAligned::test_case_statement PASSED [ 7%] tests/test_format.py::TestFormatReindentAligned::test_case_statement_with_between PASSED [ 7%] tests/test_format.py::TestFormatReindentAligned::test_group_by PASSED [ 8%] tests/test_format.py::TestFormatReindentAligned::test_group_by_subquery PASSED [ 8%] tests/test_format.py::TestFormatReindentAligned::test_window_functions PASSED [ 8%] tests/test_format.py::TestSpacesAroundOperators::test_basic PASSED [ 8%] tests/test_format.py::TestSpacesAroundOperators::test_bools PASSED [ 9%] tests/test_format.py::TestSpacesAroundOperators::test_nested PASSED [ 9%] tests/test_format.py::TestSpacesAroundOperators::test_wildcard_vs_mult PASSED [ 9%] tests/test_format.py::TestFormatReindent::test_option PASSED [ 9%] tests/test_format.py::TestFormatReindent::test_stmts PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_keywords PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_keywords_between PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_parenthesis PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_where PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_join PASSED [ 11%] tests/test_format.py::TestFormatReindent::test_identifier_list PASSED [ 11%] tests/test_format.py::TestFormatReindent::test_identifier_list_with_wrap_after PASSED [ 11%] tests/test_format.py::TestFormatReindent::test_identifier_list_comment_first PASSED [ 11%] tests/test_format.py::TestFormatReindent::test_identifier_list_with_functions PASSED [ 12%] tests/test_format.py::TestFormatReindent::test_long_identifier_list_with_functions PASSED [ 12%] tests/test_format.py::TestFormatReindent::test_case PASSED [ 12%] tests/test_format.py::TestFormatReindent::test_case2 PASSED [ 12%] tests/test_format.py::TestFormatReindent::test_nested_identifier_list PASSED [ 13%] tests/test_format.py::TestFormatReindent::test_duplicate_linebreaks PASSED [ 13%] tests/test_format.py::TestFormatReindent::test_keywordfunctions PASSED [ 13%] tests/test_format.py::TestFormatReindent::test_identifier_and_functions PASSED [ 13%] tests/test_format.py::TestFormatReindent::test_insert_values PASSED [ 13%] tests/test_format.py::TestOutputFormat::test_python PASSED [ 14%] tests/test_format.py::TestOutputFormat::test_python_multiple_statements PASSED [ 14%] tests/test_format.py::TestOutputFormat::test_python_multiple_statements_with_formatting XFAIL [ 14%] tests/test_format.py::TestOutputFormat::test_php PASSED [ 14%] tests/test_format.py::TestOutputFormat::test_sql PASSED [ 15%] tests/test_format.py::TestOutputFormat::test_invalid_option PASSED [ 15%] tests/test_format.py::test_format_column_ordering PASSED [ 15%] tests/test_format.py::test_truncate_strings PASSED [ 15%] tests/test_format.py::test_truncate_strings_invalid_option2[bar] PASSED [ 16%] tests/test_format.py::test_truncate_strings_invalid_option2[-1] PASSED [ 16%] tests/test_format.py::test_truncate_strings_invalid_option2[0] PASSED [ 16%] tests/test_format.py::test_truncate_strings_doesnt_truncate_identifiers[select verrrylongcolumn from foo] PASSED [ 16%] tests/test_format.py::test_truncate_strings_doesnt_truncate_identifiers[select "verrrylongcolumn" from "foo"] PASSED [ 16%] tests/test_format.py::test_having_produces_newline PASSED [ 17%] tests/test_format.py::test_format_right_margin_invalid_option[ten] PASSED [ 17%] tests/test_format.py::test_format_right_margin_invalid_option[2] PASSED [ 17%] tests/test_format.py::test_format_right_margin XFAIL (Needs fixing) [ 17%] tests/test_grouping.py::test_grouping_parenthesis PASSED [ 18%] tests/test_grouping.py::test_grouping_comments PASSED [ 18%] tests/test_grouping.py::test_grouping_assignment[foo := 1;] PASSED [ 18%] tests/test_grouping.py::test_grouping_assignment[foo := 1] PASSED [ 18%] tests/test_grouping.py::test_grouping_typed_literal[x > DATE '2020-01-01'] PASSED [ 19%] tests/test_grouping.py::test_grouping_typed_literal[x > TIMESTAMP '2020-01-01 00:00:00'] PASSED [ 19%] tests/test_grouping.py::test_compare_expr[select a from b where c < d + e-Identifier-Identifier] PASSED [ 19%] tests/test_grouping.py::test_compare_expr[select a from b where c < d + interval '1 day'-Identifier-TypedLiteral] PASSED [ 19%] tests/test_grouping.py::test_compare_expr[select a from b where c < d + interval '6' month-Identifier-TypedLiteral] PASSED [ 20%] tests/test_grouping.py::test_compare_expr[select a from b where c < current_timestamp - interval '1 day'-Token-TypedLiteral] PASSED [ 20%] tests/test_grouping.py::test_grouping_identifiers PASSED [ 20%] tests/test_grouping.py::test_simple_identifiers[1 as f] PASSED [ 20%] tests/test_grouping.py::test_simple_identifiers[foo as f] PASSED [ 20%] tests/test_grouping.py::test_simple_identifiers[foo f] PASSED [ 21%] tests/test_grouping.py::test_simple_identifiers[1/2 as f] PASSED [ 21%] tests/test_grouping.py::test_simple_identifiers[1/2 f] PASSED [ 21%] tests/test_grouping.py::test_simple_identifiers[1<2 as f] PASSED [ 21%] tests/test_grouping.py::test_simple_identifiers[1<2 f] PASSED [ 22%] tests/test_grouping.py::test_group_identifier_list[foo, bar] PASSED [ 22%] tests/test_grouping.py::test_group_identifier_list[sum(a), sum(b)] PASSED [ 22%] tests/test_grouping.py::test_group_identifier_list[sum(a) as x, b as y] PASSED [ 22%] tests/test_grouping.py::test_group_identifier_list[sum(a)::integer, b] PASSED [ 23%] tests/test_grouping.py::test_group_identifier_list[sum(a)/count(b) as x, y] PASSED [ 23%] tests/test_grouping.py::test_group_identifier_list[sum(a)::integer as x, y] PASSED [ 23%] tests/test_grouping.py::test_group_identifier_list[sum(a)::integer/count(b) as x, y] PASSED [ 23%] tests/test_grouping.py::test_grouping_identifier_wildcard PASSED [ 23%] tests/test_grouping.py::test_grouping_identifier_name_wildcard PASSED [ 24%] tests/test_grouping.py::test_grouping_identifier_invalid PASSED [ 24%] tests/test_grouping.py::test_grouping_identifier_invalid_in_middle PASSED [ 24%] tests/test_grouping.py::test_grouping_identifer_as[foo as (select *)] PASSED [ 24%] tests/test_grouping.py::test_grouping_identifer_as[foo as(select *)] PASSED [ 25%] tests/test_grouping.py::test_grouping_identifier_as_invalid PASSED [ 25%] tests/test_grouping.py::test_grouping_identifier_function PASSED [ 25%] tests/test_grouping.py::test_grouping_operation[foo+100] PASSED [ 25%] tests/test_grouping.py::test_grouping_operation[foo + 100] PASSED [ 26%] tests/test_grouping.py::test_grouping_operation[foo*100] PASSED [ 26%] tests/test_grouping.py::test_grouping_identifier_list PASSED [ 26%] tests/test_grouping.py::test_grouping_identifier_list_subquery PASSED [ 26%] tests/test_grouping.py::test_grouping_identifier_list_case PASSED [ 26%] tests/test_grouping.py::test_grouping_identifier_list_other PASSED [ 27%] tests/test_grouping.py::test_grouping_identifier_list_with_inline_comments PASSED [ 27%] tests/test_grouping.py::test_grouping_identifiers_with_operators PASSED [ 27%] tests/test_grouping.py::test_grouping_identifier_list_with_order PASSED [ 27%] tests/test_grouping.py::test_grouping_where PASSED [ 28%] tests/test_grouping.py::test_grouping_where_union[select 1 where 1 = 2 union select 2] PASSED [ 28%] tests/test_grouping.py::test_grouping_where_union[select 1 where 1 = 2 union all select 2] PASSED [ 28%] tests/test_grouping.py::test_returning_kw_ends_where_clause PASSED [ 28%] tests/test_grouping.py::test_into_kw_ends_where_clause PASSED [ 29%] tests/test_grouping.py::test_grouping_typecast[select foo::integer from bar-integer] PASSED [ 29%] tests/test_grouping.py::test_grouping_typecast[select (current_database())::information_schema.sql_identifier-information_schema.sql_identifier] PASSED [ 29%] tests/test_grouping.py::test_grouping_alias PASSED [ 29%] tests/test_grouping.py::test_grouping_alias_case PASSED [ 30%] tests/test_grouping.py::test_grouping_alias_ctas PASSED [ 30%] tests/test_grouping.py::test_grouping_subquery_no_parens PASSED [ 30%] tests/test_grouping.py::test_grouping_alias_returns_none[foo.bar] PASSED [ 30%] tests/test_grouping.py::test_grouping_alias_returns_none[x, y] PASSED [ 30%] tests/test_grouping.py::test_grouping_alias_returns_none[x > y] PASSED [ 31%] tests/test_grouping.py::test_grouping_alias_returns_none[x / y] PASSED [ 31%] tests/test_grouping.py::test_grouping_idlist_function PASSED [ 31%] tests/test_grouping.py::test_grouping_comparison_exclude PASSED [ 31%] tests/test_grouping.py::test_grouping_function PASSED [ 32%] tests/test_grouping.py::test_grouping_function_not_in PASSED [ 32%] tests/test_grouping.py::test_grouping_varchar PASSED [ 32%] tests/test_grouping.py::test_statement_get_type PASSED [ 32%] tests/test_grouping.py::test_identifier_with_operators PASSED [ 33%] tests/test_grouping.py::test_identifier_with_op_trailing_ws PASSED [ 33%] tests/test_grouping.py::test_identifier_with_string_literals PASSED [ 33%] tests/test_grouping.py::test_identifier_consumes_ordering PASSED [ 33%] tests/test_grouping.py::test_comparison_with_keywords PASSED [ 33%] tests/test_grouping.py::test_comparison_with_floats PASSED [ 34%] tests/test_grouping.py::test_comparison_with_parenthesis PASSED [ 34%] tests/test_grouping.py::test_comparison_with_strings[=] PASSED [ 34%] tests/test_grouping.py::test_comparison_with_strings[!=] PASSED [ 34%] tests/test_grouping.py::test_comparison_with_strings[>] PASSED [ 35%] tests/test_grouping.py::test_comparison_with_strings[<] PASSED [ 35%] tests/test_grouping.py::test_comparison_with_strings[<=] PASSED [ 35%] tests/test_grouping.py::test_comparison_with_strings[>=] PASSED [ 35%] tests/test_grouping.py::test_comparison_with_strings[~] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[~~] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[!~~] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[LIKE] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[NOT LIKE] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[ILIKE] PASSED [ 37%] tests/test_grouping.py::test_comparison_with_strings[NOT ILIKE] PASSED [ 37%] tests/test_grouping.py::test_like_and_ilike_comparison PASSED [ 37%] tests/test_grouping.py::test_comparison_with_functions PASSED [ 37%] tests/test_grouping.py::test_comparison_with_typed_literal PASSED [ 38%] tests/test_grouping.py::test_forloops[FOR] PASSED [ 38%] tests/test_grouping.py::test_forloops[FOREACH] PASSED [ 38%] tests/test_grouping.py::test_nested_for PASSED [ 38%] tests/test_grouping.py::test_begin PASSED [ 39%] tests/test_grouping.py::test_keyword_followed_by_parenthesis PASSED [ 39%] tests/test_grouping.py::test_nested_begin PASSED [ 39%] tests/test_grouping.py::test_aliased_column_without_as PASSED [ 39%] tests/test_grouping.py::test_qualified_function PASSED [ 40%] tests/test_grouping.py::test_aliased_function_without_as PASSED [ 40%] tests/test_grouping.py::test_aliased_literal_without_as PASSED [ 40%] tests/test_grouping.py::test_grouping_as_cte PASSED [ 40%] tests/test_grouping.py::test_grouping_create_table PASSED [ 40%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[1.0] PASSED [ 41%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[-1.0] PASSED [ 41%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[1.] PASSED [ 41%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[-1.] PASSED [ 41%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[.1] PASSED [ 42%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[-.1] PASSED [ 42%] tests/test_parse.py::test_parse_tokenize PASSED [ 42%] tests/test_parse.py::test_parse_multistatement PASSED [ 42%] tests/test_parse.py::test_parse_newlines[select\n*from foo;] PASSED [ 43%] tests/test_parse.py::test_parse_newlines[select\r\n*from foo] PASSED [ 43%] tests/test_parse.py::test_parse_newlines[select\r*from foo] PASSED [ 43%] tests/test_parse.py::test_parse_newlines[select\r\n*from foo\n] PASSED [ 43%] tests/test_parse.py::test_parse_within PASSED [ 43%] tests/test_parse.py::test_parse_child_of PASSED [ 44%] tests/test_parse.py::test_parse_has_ancestor PASSED [ 44%] tests/test_parse.py::test_parse_float[.5] PASSED [ 44%] tests/test_parse.py::test_parse_float[.51] PASSED [ 44%] tests/test_parse.py::test_parse_float[1.5] PASSED [ 45%] tests/test_parse.py::test_parse_float[12.5] PASSED [ 45%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = ?-?] PASSED [ 45%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = :1-:1] PASSED [ 45%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = :name-:name] PASSED [ 46%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = %s-%s] PASSED [ 46%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = $a-$a] PASSED [ 46%] tests/test_parse.py::test_parse_modulo_not_placeholder PASSED [ 46%] tests/test_parse.py::test_parse_access_symbol PASSED [ 46%] tests/test_parse.py::test_parse_square_brackets_notation_isnt_too_greedy PASSED [ 47%] tests/test_parse.py::test_parse_square_brackets_notation_isnt_too_greedy2 PASSED [ 47%] tests/test_parse.py::test_parse_keyword_like_identifier PASSED [ 47%] tests/test_parse.py::test_parse_function_parameter PASSED [ 47%] tests/test_parse.py::test_parse_function_param_single_literal PASSED [ 48%] tests/test_parse.py::test_parse_nested_function PASSED [ 48%] tests/test_parse.py::test_parse_div_operator PASSED [ 48%] tests/test_parse.py::test_quoted_identifier PASSED [ 48%] tests/test_parse.py::test_valid_identifier_names[foo] PASSED [ 49%] tests/test_parse.py::test_valid_identifier_names[_foo] PASSED [ 49%] tests/test_parse.py::test_valid_identifier_names[1_data] PASSED [ 49%] tests/test_parse.py::test_valid_identifier_names[\u696d\u8005\u540d\u7a31] PASSED [ 49%] tests/test_parse.py::test_psql_quotation_marks PASSED [ 50%] tests/test_parse.py::test_double_precision_is_builtin PASSED [ 50%] tests/test_parse.py::test_placeholder[?] PASSED [ 50%] tests/test_parse.py::test_placeholder[:1] PASSED [ 50%] tests/test_parse.py::test_placeholder[:foo] PASSED [ 50%] tests/test_parse.py::test_placeholder[%s] PASSED [ 51%] tests/test_parse.py::test_placeholder[%(foo)s] PASSED [ 51%] tests/test_parse.py::test_scientific_numbers[6.67428E-8-expected0] PASSED [ 51%] tests/test_parse.py::test_scientific_numbers[1.988e33-expected1] PASSED [ 51%] tests/test_parse.py::test_scientific_numbers[1e-12-expected2] PASSED [ 52%] tests/test_parse.py::test_scientific_numbers[e1-None] PASSED [ 52%] tests/test_parse.py::test_single_quotes_are_strings PASSED [ 52%] tests/test_parse.py::test_double_quotes_are_identifiers PASSED [ 52%] tests/test_parse.py::test_single_quotes_with_linebreaks PASSED [ 53%] tests/test_parse.py::test_sqlite_identifiers PASSED [ 53%] tests/test_parse.py::test_simple_1d_array_index PASSED [ 53%] tests/test_parse.py::test_2d_array_index PASSED [ 53%] tests/test_parse.py::test_array_index_function_result PASSED [ 53%] tests/test_parse.py::test_schema_qualified_array_index PASSED [ 54%] tests/test_parse.py::test_aliased_array_index PASSED [ 54%] tests/test_parse.py::test_array_literal PASSED [ 54%] tests/test_parse.py::test_typed_array_definition PASSED [ 54%] tests/test_parse.py::test_single_line_comments[select 1 -- foo] PASSED [ 55%] tests/test_parse.py::test_single_line_comments[select 1 # foo] PASSED [ 55%] tests/test_parse.py::test_names_and_special_names[foo] PASSED [ 55%] tests/test_parse.py::test_names_and_special_names[@foo] PASSED [ 55%] tests/test_parse.py::test_names_and_special_names[#foo] PASSED [ 56%] tests/test_parse.py::test_names_and_special_names[##foo] PASSED [ 56%] tests/test_parse.py::test_get_token_at_offset PASSED [ 56%] tests/test_parse.py::test_pprint PASSED [ 56%] tests/test_parse.py::test_wildcard_multiplication PASSED [ 56%] tests/test_parse.py::test_stmt_tokens_parents PASSED [ 57%] tests/test_parse.py::test_dbldollar_as_literal[$$foo$$-True] PASSED [ 57%] tests/test_parse.py::test_dbldollar_as_literal[$_$foo$_$-True] PASSED [ 57%] tests/test_parse.py::test_dbldollar_as_literal[$token$ foo $token$-True] PASSED [ 57%] tests/test_parse.py::test_dbldollar_as_literal[$_$ foo $token$bar$token$ baz$_$-True] PASSED [ 58%] tests/test_parse.py::test_dbldollar_as_literal[$A$ foo $B$-False] PASSED [ 58%] tests/test_parse.py::test_non_ascii PASSED [ 58%] tests/test_parse.py::test_get_real_name PASSED [ 58%] tests/test_parse.py::test_from_subquery PASSED [ 59%] tests/test_parse.py::test_parenthesis PASSED [ 59%] tests/test_parse.py::test_configurable_keywords PASSED [ 59%] tests/test_parse.py::test_configurable_regex PASSED [ 59%] tests/test_regressions.py::test_issue9 PASSED [ 60%] tests/test_regressions.py::test_issue13 PASSED [ 60%] tests/test_regressions.py::test_issue26[--hello] PASSED [ 60%] tests/test_regressions.py::test_issue26[-- hello] PASSED [ 60%] tests/test_regressions.py::test_issue26[--hello\n] PASSED [ 60%] tests/test_regressions.py::test_issue26[--] PASSED [ 61%] tests/test_regressions.py::test_issue26[--\n] PASSED [ 61%] tests/test_regressions.py::test_issue34[create] PASSED [ 61%] tests/test_regressions.py::test_issue34[CREATE] PASSED [ 61%] tests/test_regressions.py::test_issue35 PASSED [ 62%] tests/test_regressions.py::test_issue38 PASSED [ 62%] tests/test_regressions.py::test_issue39 PASSED [ 62%] tests/test_regressions.py::test_issue40 PASSED [ 62%] tests/test_regressions.py::test_issue78[get_name-z-select x.y::text as z from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select x.y::text as "z" from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select x."y"::text as z from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select x."y"::text as "z" from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select "x".y::text as z from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select "x".y::text as "z" from foo] PASSED [ 64%] tests/test_regressions.py::test_issue78[get_name-z-select "x"."y"::text as z from foo] PASSED [ 64%] tests/test_regressions.py::test_issue78[get_name-z-select "x"."y"::text as "z" from foo] PASSED [ 64%] tests/test_regressions.py::test_issue78[get_real_name-y-select x.y::text as z from foo] PASSED [ 64%] tests/test_regressions.py::test_issue78[get_real_name-y-select x.y::text as "z" from foo] PASSED [ 65%] tests/test_regressions.py::test_issue78[get_real_name-y-select x."y"::text as z from foo] PASSED [ 65%] tests/test_regressions.py::test_issue78[get_real_name-y-select x."y"::text as "z" from foo] PASSED [ 65%] tests/test_regressions.py::test_issue78[get_real_name-y-select "x".y::text as z from foo] PASSED [ 65%] tests/test_regressions.py::test_issue78[get_real_name-y-select "x".y::text as "z" from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_real_name-y-select "x"."y"::text as z from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_real_name-y-select "x"."y"::text as "z" from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_parent_name-x-select x.y::text as z from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_parent_name-x-select x.y::text as "z" from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_parent_name-x-select x."y"::text as z from foo] PASSED [ 67%] tests/test_regressions.py::test_issue78[get_parent_name-x-select x."y"::text as "z" from foo] PASSED [ 67%] tests/test_regressions.py::test_issue78[get_parent_name-x-select "x".y::text as z from foo] PASSED [ 67%] tests/test_regressions.py::test_issue78[get_parent_name-x-select "x".y::text as "z" from foo] PASSED [ 67%] tests/test_regressions.py::test_issue78[get_parent_name-x-select "x"."y"::text as z from foo] PASSED [ 68%] tests/test_regressions.py::test_issue78[get_parent_name-x-select "x"."y"::text as "z" from foo] PASSED [ 68%] tests/test_regressions.py::test_issue78[get_alias-z-select x.y::text as z from foo] PASSED [ 68%] tests/test_regressions.py::test_issue78[get_alias-z-select x.y::text as "z" from foo] PASSED [ 68%] tests/test_regressions.py::test_issue78[get_alias-z-select x."y"::text as z from foo] PASSED [ 69%] tests/test_regressions.py::test_issue78[get_alias-z-select x."y"::text as "z" from foo] PASSED [ 69%] tests/test_regressions.py::test_issue78[get_alias-z-select "x".y::text as z from foo] PASSED [ 69%] tests/test_regressions.py::test_issue78[get_alias-z-select "x".y::text as "z" from foo] PASSED [ 69%] tests/test_regressions.py::test_issue78[get_alias-z-select "x"."y"::text as z from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_alias-z-select "x"."y"::text as "z" from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_typecast-text-select x.y::text as z from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_typecast-text-select x.y::text as "z" from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_typecast-text-select x."y"::text as z from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_typecast-text-select x."y"::text as "z" from foo] PASSED [ 71%] tests/test_regressions.py::test_issue78[get_typecast-text-select "x".y::text as z from foo] PASSED [ 71%] tests/test_regressions.py::test_issue78[get_typecast-text-select "x".y::text as "z" from foo] PASSED [ 71%] tests/test_regressions.py::test_issue78[get_typecast-text-select "x"."y"::text as z from foo] PASSED [ 71%] tests/test_regressions.py::test_issue78[get_typecast-text-select "x"."y"::text as "z" from foo] PASSED [ 72%] tests/test_regressions.py::test_issue83 PASSED [ 72%] tests/test_regressions.py::test_comment_encoding_when_reindent PASSED [ 72%] tests/test_regressions.py::test_parse_sql_with_binary PASSED [ 72%] tests/test_regressions.py::test_dont_alias_keywords PASSED [ 73%] tests/test_regressions.py::test_format_accepts_encoding PASSED [ 73%] tests/test_regressions.py::test_stream PASSED [ 73%] tests/test_regressions.py::test_issue90 PASSED [ 73%] tests/test_regressions.py::test_except_formatting PASSED [ 73%] tests/test_regressions.py::test_null_with_as PASSED [ 74%] tests/test_regressions.py::test_issue190_open_file PASSED [ 74%] tests/test_regressions.py::test_issue193_splitting_function PASSED [ 74%] tests/test_regressions.py::test_issue194_splitting_function PASSED [ 74%] tests/test_regressions.py::test_issue186_get_type PASSED [ 75%] tests/test_regressions.py::test_issue212_py2unicode PASSED [ 75%] tests/test_regressions.py::test_issue213_leadingws PASSED [ 75%] tests/test_regressions.py::test_issue227_gettype_cte PASSED [ 75%] tests/test_regressions.py::test_issue207_runaway_format PASSED [ 76%] tests/test_regressions.py::test_token_next_doesnt_ignore_skip_cm PASSED [ 76%] tests/test_regressions.py::test_issue284_as_grouping[SELECT x AS] PASSED [ 76%] tests/test_regressions.py::test_issue284_as_grouping[AS] PASSED [ 76%] tests/test_regressions.py::test_issue315_utf8_by_default PASSED [ 76%] tests/test_regressions.py::test_issue322_concurrently_is_keyword PASSED [ 77%] tests/test_regressions.py::test_issue359_index_error_assignments[SELECT @min_price:=MIN(price), @max_price:=MAX(price) FROM shop;] PASSED [ 77%] tests/test_regressions.py::test_issue359_index_error_assignments[SELECT @min_price:=MIN(price), @max_price:=MAX(price) FROM shop] PASSED [ 77%] tests/test_regressions.py::test_issue469_copy_as_psql_command PASSED [ 77%] tests/test_regressions.py::test_issue484_comments_and_newlines XFAIL [ 78%] tests/test_regressions.py::test_issue485_split_multi PASSED [ 78%] tests/test_regressions.py::test_issue489_tzcasts PASSED [ 78%] tests/test_regressions.py::test_issue562_tzcasts PASSED [ 78%] tests/test_regressions.py::test_as_in_parentheses_indents PASSED [ 79%] tests/test_regressions.py::test_format_invalid_where_clause PASSED [ 79%] tests/test_regressions.py::test_splitting_at_and_backticks_issue588 PASSED [ 79%] tests/test_regressions.py::test_comment_between_cte_clauses_issue632 PASSED [ 79%] tests/test_split.py::test_split_semicolon PASSED [ 80%] tests/test_split.py::test_split_backslash PASSED [ 80%] tests/test_split.py::test_split_create_function[function.sql] PASSED [ 80%] tests/test_split.py::test_split_create_function[function_psql.sql] PASSED [ 80%] tests/test_split.py::test_split_create_function[function_psql2.sql] PASSED [ 80%] tests/test_split.py::test_split_create_function[function_psql3.sql] PASSED [ 81%] tests/test_split.py::test_split_create_function[function_psql4.sql] PASSED [ 81%] tests/test_split.py::test_split_dashcomments PASSED [ 81%] tests/test_split.py::test_split_dashcomments_eol[select foo; -- comment\n] PASSED [ 81%] tests/test_split.py::test_split_dashcomments_eol[select foo; -- comment\r] PASSED [ 82%] tests/test_split.py::test_split_dashcomments_eol[select foo; -- comment\r\n] PASSED [ 82%] tests/test_split.py::test_split_dashcomments_eol[select foo; -- comment] PASSED [ 82%] tests/test_split.py::test_split_begintag PASSED [ 82%] tests/test_split.py::test_split_begintag_2 PASSED [ 83%] tests/test_split.py::test_split_dropif PASSED [ 83%] tests/test_split.py::test_split_comment_with_umlaut PASSED [ 83%] tests/test_split.py::test_split_comment_end_of_line PASSED [ 83%] tests/test_split.py::test_split_casewhen PASSED [ 83%] tests/test_split.py::test_split_casewhen_procedure PASSED [ 84%] tests/test_split.py::test_split_cursor_declare PASSED [ 84%] tests/test_split.py::test_split_if_function PASSED [ 84%] tests/test_split.py::test_split_stream PASSED [ 84%] tests/test_split.py::test_split_encoding_parsestream PASSED [ 85%] tests/test_split.py::test_split_unicode_parsestream PASSED [ 85%] tests/test_split.py::test_split_simple PASSED [ 85%] tests/test_split.py::test_split_ignores_empty_newlines PASSED [ 85%] tests/test_split.py::test_split_quotes_with_new_line PASSED [ 86%] tests/test_split.py::test_split_mysql_handler_for PASSED [ 86%] tests/test_tokenize.py::test_tokenize_simple PASSED [ 86%] tests/test_tokenize.py::test_tokenize_backticks PASSED [ 86%] tests/test_tokenize.py::test_tokenize_linebreaks[foo\nbar\n] PASSED [ 86%] tests/test_tokenize.py::test_tokenize_linebreaks[foo\rbar\r] PASSED [ 87%] tests/test_tokenize.py::test_tokenize_linebreaks[foo\r\nbar\r\n] PASSED [ 87%] tests/test_tokenize.py::test_tokenize_linebreaks[foo\r\nbar\n] PASSED [ 87%] tests/test_tokenize.py::test_tokenize_inline_keywords PASSED [ 87%] tests/test_tokenize.py::test_tokenize_negative_numbers PASSED [ 88%] tests/test_tokenize.py::test_token_str PASSED [ 88%] tests/test_tokenize.py::test_token_repr PASSED [ 88%] tests/test_tokenize.py::test_token_flatten PASSED [ 88%] tests/test_tokenize.py::test_tokenlist_repr PASSED [ 89%] tests/test_tokenize.py::test_single_quotes PASSED [ 89%] tests/test_tokenize.py::test_tokenlist_first PASSED [ 89%] tests/test_tokenize.py::test_tokenlist_token_matching PASSED [ 89%] tests/test_tokenize.py::test_stream_simple PASSED [ 90%] tests/test_tokenize.py::test_stream_error PASSED [ 90%] tests/test_tokenize.py::test_parse_join[JOIN] PASSED [ 90%] tests/test_tokenize.py::test_parse_join[LEFT JOIN] PASSED [ 90%] tests/test_tokenize.py::test_parse_join[LEFT OUTER JOIN] PASSED [ 90%] tests/test_tokenize.py::test_parse_join[FULL OUTER JOIN] PASSED [ 91%] tests/test_tokenize.py::test_parse_join[NATURAL JOIN] PASSED [ 91%] tests/test_tokenize.py::test_parse_join[CROSS JOIN] PASSED [ 91%] tests/test_tokenize.py::test_parse_join[STRAIGHT JOIN] PASSED [ 91%] tests/test_tokenize.py::test_parse_join[INNER JOIN] PASSED [ 92%] tests/test_tokenize.py::test_parse_join[LEFT INNER JOIN] PASSED [ 92%] tests/test_tokenize.py::test_parse_union PASSED [ 92%] tests/test_tokenize.py::test_parse_endifloop[END IF] PASSED [ 92%] tests/test_tokenize.py::test_parse_endifloop[END IF] PASSED [ 93%] tests/test_tokenize.py::test_parse_endifloop[END\t\nIF] PASSED [ 93%] tests/test_tokenize.py::test_parse_endifloop[END LOOP] PASSED [ 93%] tests/test_tokenize.py::test_parse_endifloop[END LOOP] PASSED [ 93%] tests/test_tokenize.py::test_parse_endifloop[END\t\nLOOP] PASSED [ 93%] tests/test_tokenize.py::test_parse_nulls[NULLS FIRST] PASSED [ 94%] tests/test_tokenize.py::test_parse_nulls[NULLS LAST] PASSED [ 94%] tests/test_tokenize.py::test_parse_identifiers[foo] PASSED [ 94%] tests/test_tokenize.py::test_parse_identifiers[Foo] PASSED [ 94%] tests/test_tokenize.py::test_parse_identifiers[FOO] PASSED [ 95%] tests/test_tokenize.py::test_parse_identifiers[v$name] PASSED [ 95%] tests/test_tokenize.py::test_parse_group_by PASSED [ 95%] tests/test_tokenize.py::test_parse_order_by PASSED [ 95%] tests/test_tokenize.py::test_parse_window_as PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[LIKE] PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[ILIKE] PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[NOT LIKE] PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[NOT ILIKE] PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[NOT LIKE] PASSED [ 97%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[NOT ILIKE] PASSED [ 97%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[LIKEaaa] PASSED [ 97%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[bILIKE] PASSED [ 97%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[aaILIKEbb] PASSED [ 98%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[NOTLIKE] PASSED [ 98%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[NOTILIKE] PASSED [ 98%] tests/test_tokenize.py::test_parse_tzcast[AT TIME ZONE 'UTC'] PASSED [ 98%] tests/test_tokenize.py::test_cli_commands PASSED [ 99%] tests/test_utils.py::test_remove_quotes[None-None] PASSED [ 99%] tests/test_utils.py::test_remove_quotes['foo'-foo] PASSED [ 99%] tests/test_utils.py::test_remove_quotes["foo"-foo] PASSED [ 99%] tests/test_utils.py::test_remove_quotes[`foo`-foo] PASSED [100%] ======================== 427 passed, 3 xfailed in 1.29s ======================== I: pybuild base:311: cd /build/reproducible-path/sqlparse-0.4.4/.pybuild/cpython3_3.11_sqlparse/build; python3.11 -m pytest -v ============================= test session starts ============================== platform linux -- Python 3.11.9, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.11 cachedir: .pytest_cache rootdir: /build/reproducible-path/sqlparse-0.4.4/.pybuild/cpython3_3.11_sqlparse/build collecting ... collected 430 items tests/test_cli.py::test_cli_main_empty PASSED [ 0%] tests/test_cli.py::test_parser_empty PASSED [ 0%] tests/test_cli.py::test_main_help PASSED [ 0%] tests/test_cli.py::test_valid_args PASSED [ 0%] tests/test_cli.py::test_invalid_choice PASSED [ 1%] tests/test_cli.py::test_invalid_args PASSED [ 1%] tests/test_cli.py::test_invalid_infile PASSED [ 1%] tests/test_cli.py::test_invalid_outfile PASSED [ 1%] tests/test_cli.py::test_stdout PASSED [ 2%] tests/test_cli.py::test_script PASSED [ 2%] tests/test_cli.py::test_encoding_stdout[encoding_utf8.sql-utf-8] PASSED [ 2%] tests/test_cli.py::test_encoding_stdout[encoding_gbk.sql-gbk] PASSED [ 2%] tests/test_cli.py::test_encoding_output_file[encoding_utf8.sql-utf-8] PASSED [ 3%] tests/test_cli.py::test_encoding_output_file[encoding_gbk.sql-gbk] PASSED [ 3%] tests/test_cli.py::test_encoding_stdin[encoding_utf8.sql-utf-8] PASSED [ 3%] tests/test_cli.py::test_encoding_stdin[encoding_gbk.sql-gbk] PASSED [ 3%] tests/test_cli.py::test_encoding PASSED [ 3%] tests/test_format.py::TestFormat::test_keywordcase PASSED [ 4%] tests/test_format.py::TestFormat::test_keywordcase_invalid_option PASSED [ 4%] tests/test_format.py::TestFormat::test_identifiercase PASSED [ 4%] tests/test_format.py::TestFormat::test_identifiercase_invalid_option PASSED [ 4%] tests/test_format.py::TestFormat::test_identifiercase_quotes PASSED [ 5%] tests/test_format.py::TestFormat::test_strip_comments_single PASSED [ 5%] tests/test_format.py::TestFormat::test_strip_comments_invalid_option PASSED [ 5%] tests/test_format.py::TestFormat::test_strip_comments_multi PASSED [ 5%] tests/test_format.py::TestFormat::test_strip_comments_preserves_linebreak PASSED [ 6%] tests/test_format.py::TestFormat::test_strip_ws PASSED [ 6%] tests/test_format.py::TestFormat::test_strip_ws_invalid_option PASSED [ 6%] tests/test_format.py::TestFormat::test_preserve_ws PASSED [ 6%] tests/test_format.py::TestFormat::test_notransform_of_quoted_crlf PASSED [ 6%] tests/test_format.py::TestFormatReindentAligned::test_basic PASSED [ 7%] tests/test_format.py::TestFormatReindentAligned::test_joins PASSED [ 7%] tests/test_format.py::TestFormatReindentAligned::test_case_statement PASSED [ 7%] tests/test_format.py::TestFormatReindentAligned::test_case_statement_with_between PASSED [ 7%] tests/test_format.py::TestFormatReindentAligned::test_group_by PASSED [ 8%] tests/test_format.py::TestFormatReindentAligned::test_group_by_subquery PASSED [ 8%] tests/test_format.py::TestFormatReindentAligned::test_window_functions PASSED [ 8%] tests/test_format.py::TestSpacesAroundOperators::test_basic PASSED [ 8%] tests/test_format.py::TestSpacesAroundOperators::test_bools PASSED [ 9%] tests/test_format.py::TestSpacesAroundOperators::test_nested PASSED [ 9%] tests/test_format.py::TestSpacesAroundOperators::test_wildcard_vs_mult PASSED [ 9%] tests/test_format.py::TestFormatReindent::test_option PASSED [ 9%] tests/test_format.py::TestFormatReindent::test_stmts PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_keywords PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_keywords_between PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_parenthesis PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_where PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_join PASSED [ 11%] tests/test_format.py::TestFormatReindent::test_identifier_list PASSED [ 11%] tests/test_format.py::TestFormatReindent::test_identifier_list_with_wrap_after PASSED [ 11%] tests/test_format.py::TestFormatReindent::test_identifier_list_comment_first PASSED [ 11%] tests/test_format.py::TestFormatReindent::test_identifier_list_with_functions PASSED [ 12%] tests/test_format.py::TestFormatReindent::test_long_identifier_list_with_functions PASSED [ 12%] tests/test_format.py::TestFormatReindent::test_case PASSED [ 12%] tests/test_format.py::TestFormatReindent::test_case2 PASSED [ 12%] tests/test_format.py::TestFormatReindent::test_nested_identifier_list PASSED [ 13%] tests/test_format.py::TestFormatReindent::test_duplicate_linebreaks PASSED [ 13%] tests/test_format.py::TestFormatReindent::test_keywordfunctions PASSED [ 13%] tests/test_format.py::TestFormatReindent::test_identifier_and_functions PASSED [ 13%] tests/test_format.py::TestFormatReindent::test_insert_values PASSED [ 13%] tests/test_format.py::TestOutputFormat::test_python PASSED [ 14%] tests/test_format.py::TestOutputFormat::test_python_multiple_statements PASSED [ 14%] tests/test_format.py::TestOutputFormat::test_python_multiple_statements_with_formatting XFAIL [ 14%] tests/test_format.py::TestOutputFormat::test_php PASSED [ 14%] tests/test_format.py::TestOutputFormat::test_sql PASSED [ 15%] tests/test_format.py::TestOutputFormat::test_invalid_option PASSED [ 15%] tests/test_format.py::test_format_column_ordering PASSED [ 15%] tests/test_format.py::test_truncate_strings PASSED [ 15%] tests/test_format.py::test_truncate_strings_invalid_option2[bar] PASSED [ 16%] tests/test_format.py::test_truncate_strings_invalid_option2[-1] PASSED [ 16%] tests/test_format.py::test_truncate_strings_invalid_option2[0] PASSED [ 16%] tests/test_format.py::test_truncate_strings_doesnt_truncate_identifiers[select verrrylongcolumn from foo] PASSED [ 16%] tests/test_format.py::test_truncate_strings_doesnt_truncate_identifiers[select "verrrylongcolumn" from "foo"] PASSED [ 16%] tests/test_format.py::test_having_produces_newline PASSED [ 17%] tests/test_format.py::test_format_right_margin_invalid_option[ten] PASSED [ 17%] tests/test_format.py::test_format_right_margin_invalid_option[2] PASSED [ 17%] tests/test_format.py::test_format_right_margin XFAIL (Needs fixing) [ 17%] tests/test_grouping.py::test_grouping_parenthesis PASSED [ 18%] tests/test_grouping.py::test_grouping_comments PASSED [ 18%] tests/test_grouping.py::test_grouping_assignment[foo := 1;] PASSED [ 18%] tests/test_grouping.py::test_grouping_assignment[foo := 1] PASSED [ 18%] tests/test_grouping.py::test_grouping_typed_literal[x > DATE '2020-01-01'] PASSED [ 19%] tests/test_grouping.py::test_grouping_typed_literal[x > TIMESTAMP '2020-01-01 00:00:00'] PASSED [ 19%] tests/test_grouping.py::test_compare_expr[select a from b where c < d + e-Identifier-Identifier] PASSED [ 19%] tests/test_grouping.py::test_compare_expr[select a from b where c < d + interval '1 day'-Identifier-TypedLiteral] PASSED [ 19%] tests/test_grouping.py::test_compare_expr[select a from b where c < d + interval '6' month-Identifier-TypedLiteral] PASSED [ 20%] tests/test_grouping.py::test_compare_expr[select a from b where c < current_timestamp - interval '1 day'-Token-TypedLiteral] PASSED [ 20%] tests/test_grouping.py::test_grouping_identifiers PASSED [ 20%] tests/test_grouping.py::test_simple_identifiers[1 as f] PASSED [ 20%] tests/test_grouping.py::test_simple_identifiers[foo as f] PASSED [ 20%] tests/test_grouping.py::test_simple_identifiers[foo f] PASSED [ 21%] tests/test_grouping.py::test_simple_identifiers[1/2 as f] PASSED [ 21%] tests/test_grouping.py::test_simple_identifiers[1/2 f] PASSED [ 21%] tests/test_grouping.py::test_simple_identifiers[1<2 as f] PASSED [ 21%] tests/test_grouping.py::test_simple_identifiers[1<2 f] PASSED [ 22%] tests/test_grouping.py::test_group_identifier_list[foo, bar] PASSED [ 22%] tests/test_grouping.py::test_group_identifier_list[sum(a), sum(b)] PASSED [ 22%] tests/test_grouping.py::test_group_identifier_list[sum(a) as x, b as y] PASSED [ 22%] tests/test_grouping.py::test_group_identifier_list[sum(a)::integer, b] PASSED [ 23%] tests/test_grouping.py::test_group_identifier_list[sum(a)/count(b) as x, y] PASSED [ 23%] tests/test_grouping.py::test_group_identifier_list[sum(a)::integer as x, y] PASSED [ 23%] tests/test_grouping.py::test_group_identifier_list[sum(a)::integer/count(b) as x, y] PASSED [ 23%] tests/test_grouping.py::test_grouping_identifier_wildcard PASSED [ 23%] tests/test_grouping.py::test_grouping_identifier_name_wildcard PASSED [ 24%] tests/test_grouping.py::test_grouping_identifier_invalid PASSED [ 24%] tests/test_grouping.py::test_grouping_identifier_invalid_in_middle PASSED [ 24%] tests/test_grouping.py::test_grouping_identifer_as[foo as (select *)] PASSED [ 24%] tests/test_grouping.py::test_grouping_identifer_as[foo as(select *)] PASSED [ 25%] tests/test_grouping.py::test_grouping_identifier_as_invalid PASSED [ 25%] tests/test_grouping.py::test_grouping_identifier_function PASSED [ 25%] tests/test_grouping.py::test_grouping_operation[foo+100] PASSED [ 25%] tests/test_grouping.py::test_grouping_operation[foo + 100] PASSED [ 26%] tests/test_grouping.py::test_grouping_operation[foo*100] PASSED [ 26%] tests/test_grouping.py::test_grouping_identifier_list PASSED [ 26%] tests/test_grouping.py::test_grouping_identifier_list_subquery PASSED [ 26%] tests/test_grouping.py::test_grouping_identifier_list_case PASSED [ 26%] tests/test_grouping.py::test_grouping_identifier_list_other PASSED [ 27%] tests/test_grouping.py::test_grouping_identifier_list_with_inline_comments PASSED [ 27%] tests/test_grouping.py::test_grouping_identifiers_with_operators PASSED [ 27%] tests/test_grouping.py::test_grouping_identifier_list_with_order PASSED [ 27%] tests/test_grouping.py::test_grouping_where PASSED [ 28%] tests/test_grouping.py::test_grouping_where_union[select 1 where 1 = 2 union select 2] PASSED [ 28%] tests/test_grouping.py::test_grouping_where_union[select 1 where 1 = 2 union all select 2] PASSED [ 28%] tests/test_grouping.py::test_returning_kw_ends_where_clause PASSED [ 28%] tests/test_grouping.py::test_into_kw_ends_where_clause PASSED [ 29%] tests/test_grouping.py::test_grouping_typecast[select foo::integer from bar-integer] PASSED [ 29%] tests/test_grouping.py::test_grouping_typecast[select (current_database())::information_schema.sql_identifier-information_schema.sql_identifier] PASSED [ 29%] tests/test_grouping.py::test_grouping_alias PASSED [ 29%] tests/test_grouping.py::test_grouping_alias_case PASSED [ 30%] tests/test_grouping.py::test_grouping_alias_ctas PASSED [ 30%] tests/test_grouping.py::test_grouping_subquery_no_parens PASSED [ 30%] tests/test_grouping.py::test_grouping_alias_returns_none[foo.bar] PASSED [ 30%] tests/test_grouping.py::test_grouping_alias_returns_none[x, y] PASSED [ 30%] tests/test_grouping.py::test_grouping_alias_returns_none[x > y] PASSED [ 31%] tests/test_grouping.py::test_grouping_alias_returns_none[x / y] PASSED [ 31%] tests/test_grouping.py::test_grouping_idlist_function PASSED [ 31%] tests/test_grouping.py::test_grouping_comparison_exclude PASSED [ 31%] tests/test_grouping.py::test_grouping_function PASSED [ 32%] tests/test_grouping.py::test_grouping_function_not_in PASSED [ 32%] tests/test_grouping.py::test_grouping_varchar PASSED [ 32%] tests/test_grouping.py::test_statement_get_type PASSED [ 32%] tests/test_grouping.py::test_identifier_with_operators PASSED [ 33%] tests/test_grouping.py::test_identifier_with_op_trailing_ws PASSED [ 33%] tests/test_grouping.py::test_identifier_with_string_literals PASSED [ 33%] tests/test_grouping.py::test_identifier_consumes_ordering PASSED [ 33%] tests/test_grouping.py::test_comparison_with_keywords PASSED [ 33%] tests/test_grouping.py::test_comparison_with_floats PASSED [ 34%] tests/test_grouping.py::test_comparison_with_parenthesis PASSED [ 34%] tests/test_grouping.py::test_comparison_with_strings[=] PASSED [ 34%] tests/test_grouping.py::test_comparison_with_strings[!=] PASSED [ 34%] tests/test_grouping.py::test_comparison_with_strings[>] PASSED [ 35%] tests/test_grouping.py::test_comparison_with_strings[<] PASSED [ 35%] tests/test_grouping.py::test_comparison_with_strings[<=] PASSED [ 35%] tests/test_grouping.py::test_comparison_with_strings[>=] PASSED [ 35%] tests/test_grouping.py::test_comparison_with_strings[~] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[~~] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[!~~] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[LIKE] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[NOT LIKE] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[ILIKE] PASSED [ 37%] tests/test_grouping.py::test_comparison_with_strings[NOT ILIKE] PASSED [ 37%] tests/test_grouping.py::test_like_and_ilike_comparison PASSED [ 37%] tests/test_grouping.py::test_comparison_with_functions PASSED [ 37%] tests/test_grouping.py::test_comparison_with_typed_literal PASSED [ 38%] tests/test_grouping.py::test_forloops[FOR] PASSED [ 38%] tests/test_grouping.py::test_forloops[FOREACH] PASSED [ 38%] tests/test_grouping.py::test_nested_for PASSED [ 38%] tests/test_grouping.py::test_begin PASSED [ 39%] tests/test_grouping.py::test_keyword_followed_by_parenthesis PASSED [ 39%] tests/test_grouping.py::test_nested_begin PASSED [ 39%] tests/test_grouping.py::test_aliased_column_without_as PASSED [ 39%] tests/test_grouping.py::test_qualified_function PASSED [ 40%] tests/test_grouping.py::test_aliased_function_without_as PASSED [ 40%] tests/test_grouping.py::test_aliased_literal_without_as PASSED [ 40%] tests/test_grouping.py::test_grouping_as_cte PASSED [ 40%] tests/test_grouping.py::test_grouping_create_table PASSED [ 40%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[1.0] PASSED [ 41%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[-1.0] PASSED [ 41%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[1.] PASSED [ 41%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[-1.] PASSED [ 41%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[.1] PASSED [ 42%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[-.1] PASSED [ 42%] tests/test_parse.py::test_parse_tokenize PASSED [ 42%] tests/test_parse.py::test_parse_multistatement PASSED [ 42%] tests/test_parse.py::test_parse_newlines[select\n*from foo;] PASSED [ 43%] tests/test_parse.py::test_parse_newlines[select\r\n*from foo] PASSED [ 43%] tests/test_parse.py::test_parse_newlines[select\r*from foo] PASSED [ 43%] tests/test_parse.py::test_parse_newlines[select\r\n*from foo\n] PASSED [ 43%] tests/test_parse.py::test_parse_within PASSED [ 43%] tests/test_parse.py::test_parse_child_of PASSED [ 44%] tests/test_parse.py::test_parse_has_ancestor PASSED [ 44%] tests/test_parse.py::test_parse_float[.5] PASSED [ 44%] tests/test_parse.py::test_parse_float[.51] PASSED [ 44%] tests/test_parse.py::test_parse_float[1.5] PASSED [ 45%] tests/test_parse.py::test_parse_float[12.5] PASSED [ 45%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = ?-?] PASSED [ 45%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = :1-:1] PASSED [ 45%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = :name-:name] PASSED [ 46%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = %s-%s] PASSED [ 46%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = $a-$a] PASSED [ 46%] tests/test_parse.py::test_parse_modulo_not_placeholder PASSED [ 46%] tests/test_parse.py::test_parse_access_symbol PASSED [ 46%] tests/test_parse.py::test_parse_square_brackets_notation_isnt_too_greedy PASSED [ 47%] tests/test_parse.py::test_parse_square_brackets_notation_isnt_too_greedy2 PASSED [ 47%] tests/test_parse.py::test_parse_keyword_like_identifier PASSED [ 47%] tests/test_parse.py::test_parse_function_parameter PASSED [ 47%] tests/test_parse.py::test_parse_function_param_single_literal PASSED [ 48%] tests/test_parse.py::test_parse_nested_function PASSED [ 48%] tests/test_parse.py::test_parse_div_operator PASSED [ 48%] tests/test_parse.py::test_quoted_identifier PASSED [ 48%] tests/test_parse.py::test_valid_identifier_names[foo] PASSED [ 49%] tests/test_parse.py::test_valid_identifier_names[_foo] PASSED [ 49%] tests/test_parse.py::test_valid_identifier_names[1_data] PASSED [ 49%] tests/test_parse.py::test_valid_identifier_names[\u696d\u8005\u540d\u7a31] PASSED [ 49%] tests/test_parse.py::test_psql_quotation_marks PASSED [ 50%] tests/test_parse.py::test_double_precision_is_builtin PASSED [ 50%] tests/test_parse.py::test_placeholder[?] PASSED [ 50%] tests/test_parse.py::test_placeholder[:1] PASSED [ 50%] tests/test_parse.py::test_placeholder[:foo] PASSED [ 50%] tests/test_parse.py::test_placeholder[%s] PASSED [ 51%] tests/test_parse.py::test_placeholder[%(foo)s] PASSED [ 51%] tests/test_parse.py::test_scientific_numbers[6.67428E-8-expected0] PASSED [ 51%] tests/test_parse.py::test_scientific_numbers[1.988e33-expected1] PASSED [ 51%] tests/test_parse.py::test_scientific_numbers[1e-12-expected2] PASSED [ 52%] tests/test_parse.py::test_scientific_numbers[e1-None] PASSED [ 52%] tests/test_parse.py::test_single_quotes_are_strings PASSED [ 52%] tests/test_parse.py::test_double_quotes_are_identifiers PASSED [ 52%] tests/test_parse.py::test_single_quotes_with_linebreaks PASSED [ 53%] tests/test_parse.py::test_sqlite_identifiers PASSED [ 53%] tests/test_parse.py::test_simple_1d_array_index PASSED [ 53%] tests/test_parse.py::test_2d_array_index PASSED [ 53%] tests/test_parse.py::test_array_index_function_result PASSED [ 53%] tests/test_parse.py::test_schema_qualified_array_index PASSED [ 54%] tests/test_parse.py::test_aliased_array_index PASSED [ 54%] tests/test_parse.py::test_array_literal PASSED [ 54%] tests/test_parse.py::test_typed_array_definition PASSED [ 54%] tests/test_parse.py::test_single_line_comments[select 1 -- foo] PASSED [ 55%] tests/test_parse.py::test_single_line_comments[select 1 # foo] PASSED [ 55%] tests/test_parse.py::test_names_and_special_names[foo] PASSED [ 55%] tests/test_parse.py::test_names_and_special_names[@foo] PASSED [ 55%] tests/test_parse.py::test_names_and_special_names[#foo] PASSED [ 56%] tests/test_parse.py::test_names_and_special_names[##foo] PASSED [ 56%] tests/test_parse.py::test_get_token_at_offset PASSED [ 56%] tests/test_parse.py::test_pprint PASSED [ 56%] tests/test_parse.py::test_wildcard_multiplication PASSED [ 56%] tests/test_parse.py::test_stmt_tokens_parents PASSED [ 57%] tests/test_parse.py::test_dbldollar_as_literal[$$foo$$-True] PASSED [ 57%] tests/test_parse.py::test_dbldollar_as_literal[$_$foo$_$-True] PASSED [ 57%] tests/test_parse.py::test_dbldollar_as_literal[$token$ foo $token$-True] PASSED [ 57%] tests/test_parse.py::test_dbldollar_as_literal[$_$ foo $token$bar$token$ baz$_$-True] PASSED [ 58%] tests/test_parse.py::test_dbldollar_as_literal[$A$ foo $B$-False] PASSED [ 58%] tests/test_parse.py::test_non_ascii PASSED [ 58%] tests/test_parse.py::test_get_real_name PASSED [ 58%] tests/test_parse.py::test_from_subquery PASSED [ 59%] tests/test_parse.py::test_parenthesis PASSED [ 59%] tests/test_parse.py::test_configurable_keywords PASSED [ 59%] tests/test_parse.py::test_configurable_regex PASSED [ 59%] tests/test_regressions.py::test_issue9 PASSED [ 60%] tests/test_regressions.py::test_issue13 PASSED [ 60%] tests/test_regressions.py::test_issue26[--hello] PASSED [ 60%] tests/test_regressions.py::test_issue26[-- hello] PASSED [ 60%] tests/test_regressions.py::test_issue26[--hello\n] PASSED [ 60%] tests/test_regressions.py::test_issue26[--] PASSED [ 61%] tests/test_regressions.py::test_issue26[--\n] PASSED [ 61%] tests/test_regressions.py::test_issue34[create] PASSED [ 61%] tests/test_regressions.py::test_issue34[CREATE] PASSED [ 61%] tests/test_regressions.py::test_issue35 PASSED [ 62%] tests/test_regressions.py::test_issue38 PASSED [ 62%] tests/test_regressions.py::test_issue39 PASSED [ 62%] tests/test_regressions.py::test_issue40 PASSED [ 62%] tests/test_regressions.py::test_issue78[get_name-z-select x.y::text as z from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select x.y::text as "z" from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select x."y"::text as z from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select x."y"::text as "z" from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select "x".y::text as z from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select "x".y::text as "z" from foo] PASSED [ 64%] tests/test_regressions.py::test_issue78[get_name-z-select "x"."y"::text as z from foo] PASSED [ 64%] tests/test_regressions.py::test_issue78[get_name-z-select "x"."y"::text as "z" from foo] PASSED [ 64%] tests/test_regressions.py::test_issue78[get_real_name-y-select x.y::text as z from foo] PASSED [ 64%] tests/test_regressions.py::test_issue78[get_real_name-y-select x.y::text as "z" from foo] PASSED [ 65%] tests/test_regressions.py::test_issue78[get_real_name-y-select x."y"::text as z from foo] PASSED [ 65%] tests/test_regressions.py::test_issue78[get_real_name-y-select x."y"::text as "z" from foo] PASSED [ 65%] tests/test_regressions.py::test_issue78[get_real_name-y-select "x".y::text as z from foo] PASSED [ 65%] tests/test_regressions.py::test_issue78[get_real_name-y-select "x".y::text as "z" from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_real_name-y-select "x"."y"::text as z from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_real_name-y-select "x"."y"::text as "z" from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_parent_name-x-select x.y::text as z from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_parent_name-x-select x.y::text as "z" from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_parent_name-x-select x."y"::text as z from foo] PASSED [ 67%] tests/test_regressions.py::test_issue78[get_parent_name-x-select x."y"::text as "z" from foo] PASSED [ 67%] tests/test_regressions.py::test_issue78[get_parent_name-x-select "x".y::text as z from foo] PASSED [ 67%] tests/test_regressions.py::test_issue78[get_parent_name-x-select "x".y::text as "z" from foo] PASSED [ 67%] tests/test_regressions.py::test_issue78[get_parent_name-x-select "x"."y"::text as z from foo] PASSED [ 68%] tests/test_regressions.py::test_issue78[get_parent_name-x-select "x"."y"::text as "z" from foo] PASSED [ 68%] tests/test_regressions.py::test_issue78[get_alias-z-select x.y::text as z from foo] PASSED [ 68%] tests/test_regressions.py::test_issue78[get_alias-z-select x.y::text as "z" from foo] PASSED [ 68%] tests/test_regressions.py::test_issue78[get_alias-z-select x."y"::text as z from foo] PASSED [ 69%] tests/test_regressions.py::test_issue78[get_alias-z-select x."y"::text as "z" from foo] PASSED [ 69%] tests/test_regressions.py::test_issue78[get_alias-z-select "x".y::text as z from foo] PASSED [ 69%] tests/test_regressions.py::test_issue78[get_alias-z-select "x".y::text as "z" from foo] PASSED [ 69%] tests/test_regressions.py::test_issue78[get_alias-z-select "x"."y"::text as z from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_alias-z-select "x"."y"::text as "z" from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_typecast-text-select x.y::text as z from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_typecast-text-select x.y::text as "z" from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_typecast-text-select x."y"::text as z from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_typecast-text-select x."y"::text as "z" from foo] PASSED [ 71%] tests/test_regressions.py::test_issue78[get_typecast-text-select "x".y::text as z from foo] PASSED [ 71%] tests/test_regressions.py::test_issue78[get_typecast-text-select "x".y::text as "z" from foo] PASSED [ 71%] tests/test_regressions.py::test_issue78[get_typecast-text-select "x"."y"::text as z from foo] PASSED [ 71%] tests/test_regressions.py::test_issue78[get_typecast-text-select "x"."y"::text as "z" from foo] PASSED [ 72%] tests/test_regressions.py::test_issue83 PASSED [ 72%] tests/test_regressions.py::test_comment_encoding_when_reindent PASSED [ 72%] tests/test_regressions.py::test_parse_sql_with_binary PASSED [ 72%] tests/test_regressions.py::test_dont_alias_keywords PASSED [ 73%] tests/test_regressions.py::test_format_accepts_encoding PASSED [ 73%] tests/test_regressions.py::test_stream PASSED [ 73%] tests/test_regressions.py::test_issue90 PASSED [ 73%] tests/test_regressions.py::test_except_formatting PASSED [ 73%] tests/test_regressions.py::test_null_with_as PASSED [ 74%] tests/test_regressions.py::test_issue190_open_file PASSED [ 74%] tests/test_regressions.py::test_issue193_splitting_function PASSED [ 74%] tests/test_regressions.py::test_issue194_splitting_function PASSED [ 74%] tests/test_regressions.py::test_issue186_get_type PASSED [ 75%] tests/test_regressions.py::test_issue212_py2unicode PASSED [ 75%] tests/test_regressions.py::test_issue213_leadingws PASSED [ 75%] tests/test_regressions.py::test_issue227_gettype_cte PASSED [ 75%] tests/test_regressions.py::test_issue207_runaway_format PASSED [ 76%] tests/test_regressions.py::test_token_next_doesnt_ignore_skip_cm PASSED [ 76%] tests/test_regressions.py::test_issue284_as_grouping[SELECT x AS] PASSED [ 76%] tests/test_regressions.py::test_issue284_as_grouping[AS] PASSED [ 76%] tests/test_regressions.py::test_issue315_utf8_by_default PASSED [ 76%] tests/test_regressions.py::test_issue322_concurrently_is_keyword PASSED [ 77%] tests/test_regressions.py::test_issue359_index_error_assignments[SELECT @min_price:=MIN(price), @max_price:=MAX(price) FROM shop;] PASSED [ 77%] tests/test_regressions.py::test_issue359_index_error_assignments[SELECT @min_price:=MIN(price), @max_price:=MAX(price) FROM shop] PASSED [ 77%] tests/test_regressions.py::test_issue469_copy_as_psql_command PASSED [ 77%] tests/test_regressions.py::test_issue484_comments_and_newlines XFAIL [ 78%] tests/test_regressions.py::test_issue485_split_multi PASSED [ 78%] tests/test_regressions.py::test_issue489_tzcasts PASSED [ 78%] tests/test_regressions.py::test_issue562_tzcasts PASSED [ 78%] tests/test_regressions.py::test_as_in_parentheses_indents PASSED [ 79%] tests/test_regressions.py::test_format_invalid_where_clause PASSED [ 79%] tests/test_regressions.py::test_splitting_at_and_backticks_issue588 PASSED [ 79%] tests/test_regressions.py::test_comment_between_cte_clauses_issue632 PASSED [ 79%] tests/test_split.py::test_split_semicolon PASSED [ 80%] tests/test_split.py::test_split_backslash PASSED [ 80%] tests/test_split.py::test_split_create_function[function.sql] PASSED [ 80%] tests/test_split.py::test_split_create_function[function_psql.sql] PASSED [ 80%] tests/test_split.py::test_split_create_function[function_psql2.sql] PASSED [ 80%] tests/test_split.py::test_split_create_function[function_psql3.sql] PASSED [ 81%] tests/test_split.py::test_split_create_function[function_psql4.sql] PASSED [ 81%] tests/test_split.py::test_split_dashcomments PASSED [ 81%] tests/test_split.py::test_split_dashcomments_eol[select foo; -- comment\n] PASSED [ 81%] tests/test_split.py::test_split_dashcomments_eol[select foo; -- comment\r] PASSED [ 82%] tests/test_split.py::test_split_dashcomments_eol[select foo; -- comment\r\n] PASSED [ 82%] tests/test_split.py::test_split_dashcomments_eol[select foo; -- comment] PASSED [ 82%] tests/test_split.py::test_split_begintag PASSED [ 82%] tests/test_split.py::test_split_begintag_2 PASSED [ 83%] tests/test_split.py::test_split_dropif PASSED [ 83%] tests/test_split.py::test_split_comment_with_umlaut PASSED [ 83%] tests/test_split.py::test_split_comment_end_of_line PASSED [ 83%] tests/test_split.py::test_split_casewhen PASSED [ 83%] tests/test_split.py::test_split_casewhen_procedure PASSED [ 84%] tests/test_split.py::test_split_cursor_declare PASSED [ 84%] tests/test_split.py::test_split_if_function PASSED [ 84%] tests/test_split.py::test_split_stream PASSED [ 84%] tests/test_split.py::test_split_encoding_parsestream PASSED [ 85%] tests/test_split.py::test_split_unicode_parsestream PASSED [ 85%] tests/test_split.py::test_split_simple PASSED [ 85%] tests/test_split.py::test_split_ignores_empty_newlines PASSED [ 85%] tests/test_split.py::test_split_quotes_with_new_line PASSED [ 86%] tests/test_split.py::test_split_mysql_handler_for PASSED [ 86%] tests/test_tokenize.py::test_tokenize_simple PASSED [ 86%] tests/test_tokenize.py::test_tokenize_backticks PASSED [ 86%] tests/test_tokenize.py::test_tokenize_linebreaks[foo\nbar\n] PASSED [ 86%] tests/test_tokenize.py::test_tokenize_linebreaks[foo\rbar\r] PASSED [ 87%] tests/test_tokenize.py::test_tokenize_linebreaks[foo\r\nbar\r\n] PASSED [ 87%] tests/test_tokenize.py::test_tokenize_linebreaks[foo\r\nbar\n] PASSED [ 87%] tests/test_tokenize.py::test_tokenize_inline_keywords PASSED [ 87%] tests/test_tokenize.py::test_tokenize_negative_numbers PASSED [ 88%] tests/test_tokenize.py::test_token_str PASSED [ 88%] tests/test_tokenize.py::test_token_repr PASSED [ 88%] tests/test_tokenize.py::test_token_flatten PASSED [ 88%] tests/test_tokenize.py::test_tokenlist_repr PASSED [ 89%] tests/test_tokenize.py::test_single_quotes PASSED [ 89%] tests/test_tokenize.py::test_tokenlist_first PASSED [ 89%] tests/test_tokenize.py::test_tokenlist_token_matching PASSED [ 89%] tests/test_tokenize.py::test_stream_simple PASSED [ 90%] tests/test_tokenize.py::test_stream_error PASSED [ 90%] tests/test_tokenize.py::test_parse_join[JOIN] PASSED [ 90%] tests/test_tokenize.py::test_parse_join[LEFT JOIN] PASSED [ 90%] tests/test_tokenize.py::test_parse_join[LEFT OUTER JOIN] PASSED [ 90%] tests/test_tokenize.py::test_parse_join[FULL OUTER JOIN] PASSED [ 91%] tests/test_tokenize.py::test_parse_join[NATURAL JOIN] PASSED [ 91%] tests/test_tokenize.py::test_parse_join[CROSS JOIN] PASSED [ 91%] tests/test_tokenize.py::test_parse_join[STRAIGHT JOIN] PASSED [ 91%] tests/test_tokenize.py::test_parse_join[INNER JOIN] PASSED [ 92%] tests/test_tokenize.py::test_parse_join[LEFT INNER JOIN] PASSED [ 92%] tests/test_tokenize.py::test_parse_union PASSED [ 92%] tests/test_tokenize.py::test_parse_endifloop[END IF] PASSED [ 92%] tests/test_tokenize.py::test_parse_endifloop[END IF] PASSED [ 93%] tests/test_tokenize.py::test_parse_endifloop[END\t\nIF] PASSED [ 93%] tests/test_tokenize.py::test_parse_endifloop[END LOOP] PASSED [ 93%] tests/test_tokenize.py::test_parse_endifloop[END LOOP] PASSED [ 93%] tests/test_tokenize.py::test_parse_endifloop[END\t\nLOOP] PASSED [ 93%] tests/test_tokenize.py::test_parse_nulls[NULLS FIRST] PASSED [ 94%] tests/test_tokenize.py::test_parse_nulls[NULLS LAST] PASSED [ 94%] tests/test_tokenize.py::test_parse_identifiers[foo] PASSED [ 94%] tests/test_tokenize.py::test_parse_identifiers[Foo] PASSED [ 94%] tests/test_tokenize.py::test_parse_identifiers[FOO] PASSED [ 95%] tests/test_tokenize.py::test_parse_identifiers[v$name] PASSED [ 95%] tests/test_tokenize.py::test_parse_group_by PASSED [ 95%] tests/test_tokenize.py::test_parse_order_by PASSED [ 95%] tests/test_tokenize.py::test_parse_window_as PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[LIKE] PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[ILIKE] PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[NOT LIKE] PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[NOT ILIKE] PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[NOT LIKE] PASSED [ 97%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[NOT ILIKE] PASSED [ 97%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[LIKEaaa] PASSED [ 97%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[bILIKE] PASSED [ 97%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[aaILIKEbb] PASSED [ 98%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[NOTLIKE] PASSED [ 98%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[NOTILIKE] PASSED [ 98%] tests/test_tokenize.py::test_parse_tzcast[AT TIME ZONE 'UTC'] PASSED [ 98%] tests/test_tokenize.py::test_cli_commands PASSED [ 99%] tests/test_utils.py::test_remove_quotes[None-None] PASSED [ 99%] tests/test_utils.py::test_remove_quotes['foo'-foo] PASSED [ 99%] tests/test_utils.py::test_remove_quotes["foo"-foo] PASSED [ 99%] tests/test_utils.py::test_remove_quotes[`foo`-foo] PASSED [100%] ======================== 427 passed, 3 xfailed in 1.45s ======================== create-stamp debian/debhelper-build-stamp dh build --with python3,sphinxdoc --buildsystem pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild dh_auto_build -O--buildsystem=pybuild I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build" module I: pybuild base:311: python3.12 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/reproducible-path/sqlparse-0.4.4/.pybuild/cpython3_3.12_sqlparse * Building wheel... Successfully built sqlparse-0.4.4-py3-none-any.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with "installer" module W: pybuild plugin_pyproject:150: Scripts directory already exists, skipping unpack. Is the Python package being built twice? I: pybuild plugin_pyproject:129: Building wheel for python3.11 with "build" module I: pybuild base:311: python3.11 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/reproducible-path/sqlparse-0.4.4/.pybuild/cpython3_3.11_sqlparse * Building wheel... Successfully built sqlparse-0.4.4-py3-none-any.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.11 with "installer" module W: pybuild plugin_pyproject:150: Scripts directory already exists, skipping unpack. Is the Python package being built twice? dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /build/reproducible-path/sqlparse-0.4.4/.pybuild/cpython3_3.12_sqlparse/build; python3.12 -m pytest -v ============================= test session starts ============================== platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 cachedir: .pytest_cache rootdir: /build/reproducible-path/sqlparse-0.4.4/.pybuild/cpython3_3.12_sqlparse/build collecting ... collected 430 items tests/test_cli.py::test_cli_main_empty PASSED [ 0%] tests/test_cli.py::test_parser_empty PASSED [ 0%] tests/test_cli.py::test_main_help PASSED [ 0%] tests/test_cli.py::test_valid_args PASSED [ 0%] tests/test_cli.py::test_invalid_choice PASSED [ 1%] tests/test_cli.py::test_invalid_args PASSED [ 1%] tests/test_cli.py::test_invalid_infile PASSED [ 1%] tests/test_cli.py::test_invalid_outfile PASSED [ 1%] tests/test_cli.py::test_stdout PASSED [ 2%] tests/test_cli.py::test_script PASSED [ 2%] tests/test_cli.py::test_encoding_stdout[encoding_utf8.sql-utf-8] PASSED [ 2%] tests/test_cli.py::test_encoding_stdout[encoding_gbk.sql-gbk] PASSED [ 2%] tests/test_cli.py::test_encoding_output_file[encoding_utf8.sql-utf-8] PASSED [ 3%] tests/test_cli.py::test_encoding_output_file[encoding_gbk.sql-gbk] PASSED [ 3%] tests/test_cli.py::test_encoding_stdin[encoding_utf8.sql-utf-8] PASSED [ 3%] tests/test_cli.py::test_encoding_stdin[encoding_gbk.sql-gbk] PASSED [ 3%] tests/test_cli.py::test_encoding PASSED [ 3%] tests/test_format.py::TestFormat::test_keywordcase PASSED [ 4%] tests/test_format.py::TestFormat::test_keywordcase_invalid_option PASSED [ 4%] tests/test_format.py::TestFormat::test_identifiercase PASSED [ 4%] tests/test_format.py::TestFormat::test_identifiercase_invalid_option PASSED [ 4%] tests/test_format.py::TestFormat::test_identifiercase_quotes PASSED [ 5%] tests/test_format.py::TestFormat::test_strip_comments_single PASSED [ 5%] tests/test_format.py::TestFormat::test_strip_comments_invalid_option PASSED [ 5%] tests/test_format.py::TestFormat::test_strip_comments_multi PASSED [ 5%] tests/test_format.py::TestFormat::test_strip_comments_preserves_linebreak PASSED [ 6%] tests/test_format.py::TestFormat::test_strip_ws PASSED [ 6%] tests/test_format.py::TestFormat::test_strip_ws_invalid_option PASSED [ 6%] tests/test_format.py::TestFormat::test_preserve_ws PASSED [ 6%] tests/test_format.py::TestFormat::test_notransform_of_quoted_crlf PASSED [ 6%] tests/test_format.py::TestFormatReindentAligned::test_basic PASSED [ 7%] tests/test_format.py::TestFormatReindentAligned::test_joins PASSED [ 7%] tests/test_format.py::TestFormatReindentAligned::test_case_statement PASSED [ 7%] tests/test_format.py::TestFormatReindentAligned::test_case_statement_with_between PASSED [ 7%] tests/test_format.py::TestFormatReindentAligned::test_group_by PASSED [ 8%] tests/test_format.py::TestFormatReindentAligned::test_group_by_subquery PASSED [ 8%] tests/test_format.py::TestFormatReindentAligned::test_window_functions PASSED [ 8%] tests/test_format.py::TestSpacesAroundOperators::test_basic PASSED [ 8%] tests/test_format.py::TestSpacesAroundOperators::test_bools PASSED [ 9%] tests/test_format.py::TestSpacesAroundOperators::test_nested PASSED [ 9%] tests/test_format.py::TestSpacesAroundOperators::test_wildcard_vs_mult PASSED [ 9%] tests/test_format.py::TestFormatReindent::test_option PASSED [ 9%] tests/test_format.py::TestFormatReindent::test_stmts PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_keywords PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_keywords_between PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_parenthesis PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_where PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_join PASSED [ 11%] tests/test_format.py::TestFormatReindent::test_identifier_list PASSED [ 11%] tests/test_format.py::TestFormatReindent::test_identifier_list_with_wrap_after PASSED [ 11%] tests/test_format.py::TestFormatReindent::test_identifier_list_comment_first PASSED [ 11%] tests/test_format.py::TestFormatReindent::test_identifier_list_with_functions PASSED [ 12%] tests/test_format.py::TestFormatReindent::test_long_identifier_list_with_functions PASSED [ 12%] tests/test_format.py::TestFormatReindent::test_case PASSED [ 12%] tests/test_format.py::TestFormatReindent::test_case2 PASSED [ 12%] tests/test_format.py::TestFormatReindent::test_nested_identifier_list PASSED [ 13%] tests/test_format.py::TestFormatReindent::test_duplicate_linebreaks PASSED [ 13%] tests/test_format.py::TestFormatReindent::test_keywordfunctions PASSED [ 13%] tests/test_format.py::TestFormatReindent::test_identifier_and_functions PASSED [ 13%] tests/test_format.py::TestFormatReindent::test_insert_values PASSED [ 13%] tests/test_format.py::TestOutputFormat::test_python PASSED [ 14%] tests/test_format.py::TestOutputFormat::test_python_multiple_statements PASSED [ 14%] tests/test_format.py::TestOutputFormat::test_python_multiple_statements_with_formatting XFAIL [ 14%] tests/test_format.py::TestOutputFormat::test_php PASSED [ 14%] tests/test_format.py::TestOutputFormat::test_sql PASSED [ 15%] tests/test_format.py::TestOutputFormat::test_invalid_option PASSED [ 15%] tests/test_format.py::test_format_column_ordering PASSED [ 15%] tests/test_format.py::test_truncate_strings PASSED [ 15%] tests/test_format.py::test_truncate_strings_invalid_option2[bar] PASSED [ 16%] tests/test_format.py::test_truncate_strings_invalid_option2[-1] PASSED [ 16%] tests/test_format.py::test_truncate_strings_invalid_option2[0] PASSED [ 16%] tests/test_format.py::test_truncate_strings_doesnt_truncate_identifiers[select verrrylongcolumn from foo] PASSED [ 16%] tests/test_format.py::test_truncate_strings_doesnt_truncate_identifiers[select "verrrylongcolumn" from "foo"] PASSED [ 16%] tests/test_format.py::test_having_produces_newline PASSED [ 17%] tests/test_format.py::test_format_right_margin_invalid_option[ten] PASSED [ 17%] tests/test_format.py::test_format_right_margin_invalid_option[2] PASSED [ 17%] tests/test_format.py::test_format_right_margin XFAIL (Needs fixing) [ 17%] tests/test_grouping.py::test_grouping_parenthesis PASSED [ 18%] tests/test_grouping.py::test_grouping_comments PASSED [ 18%] tests/test_grouping.py::test_grouping_assignment[foo := 1;] PASSED [ 18%] tests/test_grouping.py::test_grouping_assignment[foo := 1] PASSED [ 18%] tests/test_grouping.py::test_grouping_typed_literal[x > DATE '2020-01-01'] PASSED [ 19%] tests/test_grouping.py::test_grouping_typed_literal[x > TIMESTAMP '2020-01-01 00:00:00'] PASSED [ 19%] tests/test_grouping.py::test_compare_expr[select a from b where c < d + e-Identifier-Identifier] PASSED [ 19%] tests/test_grouping.py::test_compare_expr[select a from b where c < d + interval '1 day'-Identifier-TypedLiteral] PASSED [ 19%] tests/test_grouping.py::test_compare_expr[select a from b where c < d + interval '6' month-Identifier-TypedLiteral] PASSED [ 20%] tests/test_grouping.py::test_compare_expr[select a from b where c < current_timestamp - interval '1 day'-Token-TypedLiteral] PASSED [ 20%] tests/test_grouping.py::test_grouping_identifiers PASSED [ 20%] tests/test_grouping.py::test_simple_identifiers[1 as f] PASSED [ 20%] tests/test_grouping.py::test_simple_identifiers[foo as f] PASSED [ 20%] tests/test_grouping.py::test_simple_identifiers[foo f] PASSED [ 21%] tests/test_grouping.py::test_simple_identifiers[1/2 as f] PASSED [ 21%] tests/test_grouping.py::test_simple_identifiers[1/2 f] PASSED [ 21%] tests/test_grouping.py::test_simple_identifiers[1<2 as f] PASSED [ 21%] tests/test_grouping.py::test_simple_identifiers[1<2 f] PASSED [ 22%] tests/test_grouping.py::test_group_identifier_list[foo, bar] PASSED [ 22%] tests/test_grouping.py::test_group_identifier_list[sum(a), sum(b)] PASSED [ 22%] tests/test_grouping.py::test_group_identifier_list[sum(a) as x, b as y] PASSED [ 22%] tests/test_grouping.py::test_group_identifier_list[sum(a)::integer, b] PASSED [ 23%] tests/test_grouping.py::test_group_identifier_list[sum(a)/count(b) as x, y] PASSED [ 23%] tests/test_grouping.py::test_group_identifier_list[sum(a)::integer as x, y] PASSED [ 23%] tests/test_grouping.py::test_group_identifier_list[sum(a)::integer/count(b) as x, y] PASSED [ 23%] tests/test_grouping.py::test_grouping_identifier_wildcard PASSED [ 23%] tests/test_grouping.py::test_grouping_identifier_name_wildcard PASSED [ 24%] tests/test_grouping.py::test_grouping_identifier_invalid PASSED [ 24%] tests/test_grouping.py::test_grouping_identifier_invalid_in_middle PASSED [ 24%] tests/test_grouping.py::test_grouping_identifer_as[foo as (select *)] PASSED [ 24%] tests/test_grouping.py::test_grouping_identifer_as[foo as(select *)] PASSED [ 25%] tests/test_grouping.py::test_grouping_identifier_as_invalid PASSED [ 25%] tests/test_grouping.py::test_grouping_identifier_function PASSED [ 25%] tests/test_grouping.py::test_grouping_operation[foo+100] PASSED [ 25%] tests/test_grouping.py::test_grouping_operation[foo + 100] PASSED [ 26%] tests/test_grouping.py::test_grouping_operation[foo*100] PASSED [ 26%] tests/test_grouping.py::test_grouping_identifier_list PASSED [ 26%] tests/test_grouping.py::test_grouping_identifier_list_subquery PASSED [ 26%] tests/test_grouping.py::test_grouping_identifier_list_case PASSED [ 26%] tests/test_grouping.py::test_grouping_identifier_list_other PASSED [ 27%] tests/test_grouping.py::test_grouping_identifier_list_with_inline_comments PASSED [ 27%] tests/test_grouping.py::test_grouping_identifiers_with_operators PASSED [ 27%] tests/test_grouping.py::test_grouping_identifier_list_with_order PASSED [ 27%] tests/test_grouping.py::test_grouping_where PASSED [ 28%] tests/test_grouping.py::test_grouping_where_union[select 1 where 1 = 2 union select 2] PASSED [ 28%] tests/test_grouping.py::test_grouping_where_union[select 1 where 1 = 2 union all select 2] PASSED [ 28%] tests/test_grouping.py::test_returning_kw_ends_where_clause PASSED [ 28%] tests/test_grouping.py::test_into_kw_ends_where_clause PASSED [ 29%] tests/test_grouping.py::test_grouping_typecast[select foo::integer from bar-integer] PASSED [ 29%] tests/test_grouping.py::test_grouping_typecast[select (current_database())::information_schema.sql_identifier-information_schema.sql_identifier] PASSED [ 29%] tests/test_grouping.py::test_grouping_alias PASSED [ 29%] tests/test_grouping.py::test_grouping_alias_case PASSED [ 30%] tests/test_grouping.py::test_grouping_alias_ctas PASSED [ 30%] tests/test_grouping.py::test_grouping_subquery_no_parens PASSED [ 30%] tests/test_grouping.py::test_grouping_alias_returns_none[foo.bar] PASSED [ 30%] tests/test_grouping.py::test_grouping_alias_returns_none[x, y] PASSED [ 30%] tests/test_grouping.py::test_grouping_alias_returns_none[x > y] PASSED [ 31%] tests/test_grouping.py::test_grouping_alias_returns_none[x / y] PASSED [ 31%] tests/test_grouping.py::test_grouping_idlist_function PASSED [ 31%] tests/test_grouping.py::test_grouping_comparison_exclude PASSED [ 31%] tests/test_grouping.py::test_grouping_function PASSED [ 32%] tests/test_grouping.py::test_grouping_function_not_in PASSED [ 32%] tests/test_grouping.py::test_grouping_varchar PASSED [ 32%] tests/test_grouping.py::test_statement_get_type PASSED [ 32%] tests/test_grouping.py::test_identifier_with_operators PASSED [ 33%] tests/test_grouping.py::test_identifier_with_op_trailing_ws PASSED [ 33%] tests/test_grouping.py::test_identifier_with_string_literals PASSED [ 33%] tests/test_grouping.py::test_identifier_consumes_ordering PASSED [ 33%] tests/test_grouping.py::test_comparison_with_keywords PASSED [ 33%] tests/test_grouping.py::test_comparison_with_floats PASSED [ 34%] tests/test_grouping.py::test_comparison_with_parenthesis PASSED [ 34%] tests/test_grouping.py::test_comparison_with_strings[=] PASSED [ 34%] tests/test_grouping.py::test_comparison_with_strings[!=] PASSED [ 34%] tests/test_grouping.py::test_comparison_with_strings[>] PASSED [ 35%] tests/test_grouping.py::test_comparison_with_strings[<] PASSED [ 35%] tests/test_grouping.py::test_comparison_with_strings[<=] PASSED [ 35%] tests/test_grouping.py::test_comparison_with_strings[>=] PASSED [ 35%] tests/test_grouping.py::test_comparison_with_strings[~] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[~~] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[!~~] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[LIKE] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[NOT LIKE] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[ILIKE] PASSED [ 37%] tests/test_grouping.py::test_comparison_with_strings[NOT ILIKE] PASSED [ 37%] tests/test_grouping.py::test_like_and_ilike_comparison PASSED [ 37%] tests/test_grouping.py::test_comparison_with_functions PASSED [ 37%] tests/test_grouping.py::test_comparison_with_typed_literal PASSED [ 38%] tests/test_grouping.py::test_forloops[FOR] PASSED [ 38%] tests/test_grouping.py::test_forloops[FOREACH] PASSED [ 38%] tests/test_grouping.py::test_nested_for PASSED [ 38%] tests/test_grouping.py::test_begin PASSED [ 39%] tests/test_grouping.py::test_keyword_followed_by_parenthesis PASSED [ 39%] tests/test_grouping.py::test_nested_begin PASSED [ 39%] tests/test_grouping.py::test_aliased_column_without_as PASSED [ 39%] tests/test_grouping.py::test_qualified_function PASSED [ 40%] tests/test_grouping.py::test_aliased_function_without_as PASSED [ 40%] tests/test_grouping.py::test_aliased_literal_without_as PASSED [ 40%] tests/test_grouping.py::test_grouping_as_cte PASSED [ 40%] tests/test_grouping.py::test_grouping_create_table PASSED [ 40%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[1.0] PASSED [ 41%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[-1.0] PASSED [ 41%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[1.] PASSED [ 41%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[-1.] PASSED [ 41%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[.1] PASSED [ 42%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[-.1] PASSED [ 42%] tests/test_parse.py::test_parse_tokenize PASSED [ 42%] tests/test_parse.py::test_parse_multistatement PASSED [ 42%] tests/test_parse.py::test_parse_newlines[select\n*from foo;] PASSED [ 43%] tests/test_parse.py::test_parse_newlines[select\r\n*from foo] PASSED [ 43%] tests/test_parse.py::test_parse_newlines[select\r*from foo] PASSED [ 43%] tests/test_parse.py::test_parse_newlines[select\r\n*from foo\n] PASSED [ 43%] tests/test_parse.py::test_parse_within PASSED [ 43%] tests/test_parse.py::test_parse_child_of PASSED [ 44%] tests/test_parse.py::test_parse_has_ancestor PASSED [ 44%] tests/test_parse.py::test_parse_float[.5] PASSED [ 44%] tests/test_parse.py::test_parse_float[.51] PASSED [ 44%] tests/test_parse.py::test_parse_float[1.5] PASSED [ 45%] tests/test_parse.py::test_parse_float[12.5] PASSED [ 45%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = ?-?] PASSED [ 45%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = :1-:1] PASSED [ 45%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = :name-:name] PASSED [ 46%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = %s-%s] PASSED [ 46%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = $a-$a] PASSED [ 46%] tests/test_parse.py::test_parse_modulo_not_placeholder PASSED [ 46%] tests/test_parse.py::test_parse_access_symbol PASSED [ 46%] tests/test_parse.py::test_parse_square_brackets_notation_isnt_too_greedy PASSED [ 47%] tests/test_parse.py::test_parse_square_brackets_notation_isnt_too_greedy2 PASSED [ 47%] tests/test_parse.py::test_parse_keyword_like_identifier PASSED [ 47%] tests/test_parse.py::test_parse_function_parameter PASSED [ 47%] tests/test_parse.py::test_parse_function_param_single_literal PASSED [ 48%] tests/test_parse.py::test_parse_nested_function PASSED [ 48%] tests/test_parse.py::test_parse_div_operator PASSED [ 48%] tests/test_parse.py::test_quoted_identifier PASSED [ 48%] tests/test_parse.py::test_valid_identifier_names[foo] PASSED [ 49%] tests/test_parse.py::test_valid_identifier_names[_foo] PASSED [ 49%] tests/test_parse.py::test_valid_identifier_names[1_data] PASSED [ 49%] tests/test_parse.py::test_valid_identifier_names[\u696d\u8005\u540d\u7a31] PASSED [ 49%] tests/test_parse.py::test_psql_quotation_marks PASSED [ 50%] tests/test_parse.py::test_double_precision_is_builtin PASSED [ 50%] tests/test_parse.py::test_placeholder[?] PASSED [ 50%] tests/test_parse.py::test_placeholder[:1] PASSED [ 50%] tests/test_parse.py::test_placeholder[:foo] PASSED [ 50%] tests/test_parse.py::test_placeholder[%s] PASSED [ 51%] tests/test_parse.py::test_placeholder[%(foo)s] PASSED [ 51%] tests/test_parse.py::test_scientific_numbers[6.67428E-8-expected0] PASSED [ 51%] tests/test_parse.py::test_scientific_numbers[1.988e33-expected1] PASSED [ 51%] tests/test_parse.py::test_scientific_numbers[1e-12-expected2] PASSED [ 52%] tests/test_parse.py::test_scientific_numbers[e1-None] PASSED [ 52%] tests/test_parse.py::test_single_quotes_are_strings PASSED [ 52%] tests/test_parse.py::test_double_quotes_are_identifiers PASSED [ 52%] tests/test_parse.py::test_single_quotes_with_linebreaks PASSED [ 53%] tests/test_parse.py::test_sqlite_identifiers PASSED [ 53%] tests/test_parse.py::test_simple_1d_array_index PASSED [ 53%] tests/test_parse.py::test_2d_array_index PASSED [ 53%] tests/test_parse.py::test_array_index_function_result PASSED [ 53%] tests/test_parse.py::test_schema_qualified_array_index PASSED [ 54%] tests/test_parse.py::test_aliased_array_index PASSED [ 54%] tests/test_parse.py::test_array_literal PASSED [ 54%] tests/test_parse.py::test_typed_array_definition PASSED [ 54%] tests/test_parse.py::test_single_line_comments[select 1 -- foo] PASSED [ 55%] tests/test_parse.py::test_single_line_comments[select 1 # foo] PASSED [ 55%] tests/test_parse.py::test_names_and_special_names[foo] PASSED [ 55%] tests/test_parse.py::test_names_and_special_names[@foo] PASSED [ 55%] tests/test_parse.py::test_names_and_special_names[#foo] PASSED [ 56%] tests/test_parse.py::test_names_and_special_names[##foo] PASSED [ 56%] tests/test_parse.py::test_get_token_at_offset PASSED [ 56%] tests/test_parse.py::test_pprint PASSED [ 56%] tests/test_parse.py::test_wildcard_multiplication PASSED [ 56%] tests/test_parse.py::test_stmt_tokens_parents PASSED [ 57%] tests/test_parse.py::test_dbldollar_as_literal[$$foo$$-True] PASSED [ 57%] tests/test_parse.py::test_dbldollar_as_literal[$_$foo$_$-True] PASSED [ 57%] tests/test_parse.py::test_dbldollar_as_literal[$token$ foo $token$-True] PASSED [ 57%] tests/test_parse.py::test_dbldollar_as_literal[$_$ foo $token$bar$token$ baz$_$-True] PASSED [ 58%] tests/test_parse.py::test_dbldollar_as_literal[$A$ foo $B$-False] PASSED [ 58%] tests/test_parse.py::test_non_ascii PASSED [ 58%] tests/test_parse.py::test_get_real_name PASSED [ 58%] tests/test_parse.py::test_from_subquery PASSED [ 59%] tests/test_parse.py::test_parenthesis PASSED [ 59%] tests/test_parse.py::test_configurable_keywords PASSED [ 59%] tests/test_parse.py::test_configurable_regex PASSED [ 59%] tests/test_regressions.py::test_issue9 PASSED [ 60%] tests/test_regressions.py::test_issue13 PASSED [ 60%] tests/test_regressions.py::test_issue26[--hello] PASSED [ 60%] tests/test_regressions.py::test_issue26[-- hello] PASSED [ 60%] tests/test_regressions.py::test_issue26[--hello\n] PASSED [ 60%] tests/test_regressions.py::test_issue26[--] PASSED [ 61%] tests/test_regressions.py::test_issue26[--\n] PASSED [ 61%] tests/test_regressions.py::test_issue34[create] PASSED [ 61%] tests/test_regressions.py::test_issue34[CREATE] PASSED [ 61%] tests/test_regressions.py::test_issue35 PASSED [ 62%] tests/test_regressions.py::test_issue38 PASSED [ 62%] tests/test_regressions.py::test_issue39 PASSED [ 62%] tests/test_regressions.py::test_issue40 PASSED [ 62%] tests/test_regressions.py::test_issue78[get_name-z-select x.y::text as z from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select x.y::text as "z" from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select x."y"::text as z from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select x."y"::text as "z" from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select "x".y::text as z from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select "x".y::text as "z" from foo] PASSED [ 64%] tests/test_regressions.py::test_issue78[get_name-z-select "x"."y"::text as z from foo] PASSED [ 64%] tests/test_regressions.py::test_issue78[get_name-z-select "x"."y"::text as "z" from foo] PASSED [ 64%] tests/test_regressions.py::test_issue78[get_real_name-y-select x.y::text as z from foo] PASSED [ 64%] tests/test_regressions.py::test_issue78[get_real_name-y-select x.y::text as "z" from foo] PASSED [ 65%] tests/test_regressions.py::test_issue78[get_real_name-y-select x."y"::text as z from foo] PASSED [ 65%] tests/test_regressions.py::test_issue78[get_real_name-y-select x."y"::text as "z" from foo] PASSED [ 65%] tests/test_regressions.py::test_issue78[get_real_name-y-select "x".y::text as z from foo] PASSED [ 65%] tests/test_regressions.py::test_issue78[get_real_name-y-select "x".y::text as "z" from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_real_name-y-select "x"."y"::text as z from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_real_name-y-select "x"."y"::text as "z" from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_parent_name-x-select x.y::text as z from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_parent_name-x-select x.y::text as "z" from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_parent_name-x-select x."y"::text as z from foo] PASSED [ 67%] tests/test_regressions.py::test_issue78[get_parent_name-x-select x."y"::text as "z" from foo] PASSED [ 67%] tests/test_regressions.py::test_issue78[get_parent_name-x-select "x".y::text as z from foo] PASSED [ 67%] tests/test_regressions.py::test_issue78[get_parent_name-x-select "x".y::text as "z" from foo] PASSED [ 67%] tests/test_regressions.py::test_issue78[get_parent_name-x-select "x"."y"::text as z from foo] PASSED [ 68%] tests/test_regressions.py::test_issue78[get_parent_name-x-select "x"."y"::text as "z" from foo] PASSED [ 68%] tests/test_regressions.py::test_issue78[get_alias-z-select x.y::text as z from foo] PASSED [ 68%] tests/test_regressions.py::test_issue78[get_alias-z-select x.y::text as "z" from foo] PASSED [ 68%] tests/test_regressions.py::test_issue78[get_alias-z-select x."y"::text as z from foo] PASSED [ 69%] tests/test_regressions.py::test_issue78[get_alias-z-select x."y"::text as "z" from foo] PASSED [ 69%] tests/test_regressions.py::test_issue78[get_alias-z-select "x".y::text as z from foo] PASSED [ 69%] tests/test_regressions.py::test_issue78[get_alias-z-select "x".y::text as "z" from foo] PASSED [ 69%] tests/test_regressions.py::test_issue78[get_alias-z-select "x"."y"::text as z from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_alias-z-select "x"."y"::text as "z" from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_typecast-text-select x.y::text as z from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_typecast-text-select x.y::text as "z" from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_typecast-text-select x."y"::text as z from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_typecast-text-select x."y"::text as "z" from foo] PASSED [ 71%] tests/test_regressions.py::test_issue78[get_typecast-text-select "x".y::text as z from foo] PASSED [ 71%] tests/test_regressions.py::test_issue78[get_typecast-text-select "x".y::text as "z" from foo] PASSED [ 71%] tests/test_regressions.py::test_issue78[get_typecast-text-select "x"."y"::text as z from foo] PASSED [ 71%] tests/test_regressions.py::test_issue78[get_typecast-text-select "x"."y"::text as "z" from foo] PASSED [ 72%] tests/test_regressions.py::test_issue83 PASSED [ 72%] tests/test_regressions.py::test_comment_encoding_when_reindent PASSED [ 72%] tests/test_regressions.py::test_parse_sql_with_binary PASSED [ 72%] tests/test_regressions.py::test_dont_alias_keywords PASSED [ 73%] tests/test_regressions.py::test_format_accepts_encoding PASSED [ 73%] tests/test_regressions.py::test_stream PASSED [ 73%] tests/test_regressions.py::test_issue90 PASSED [ 73%] tests/test_regressions.py::test_except_formatting PASSED [ 73%] tests/test_regressions.py::test_null_with_as PASSED [ 74%] tests/test_regressions.py::test_issue190_open_file PASSED [ 74%] tests/test_regressions.py::test_issue193_splitting_function PASSED [ 74%] tests/test_regressions.py::test_issue194_splitting_function PASSED [ 74%] tests/test_regressions.py::test_issue186_get_type PASSED [ 75%] tests/test_regressions.py::test_issue212_py2unicode PASSED [ 75%] tests/test_regressions.py::test_issue213_leadingws PASSED [ 75%] tests/test_regressions.py::test_issue227_gettype_cte PASSED [ 75%] tests/test_regressions.py::test_issue207_runaway_format PASSED [ 76%] tests/test_regressions.py::test_token_next_doesnt_ignore_skip_cm PASSED [ 76%] tests/test_regressions.py::test_issue284_as_grouping[SELECT x AS] PASSED [ 76%] tests/test_regressions.py::test_issue284_as_grouping[AS] PASSED [ 76%] tests/test_regressions.py::test_issue315_utf8_by_default PASSED [ 76%] tests/test_regressions.py::test_issue322_concurrently_is_keyword PASSED [ 77%] tests/test_regressions.py::test_issue359_index_error_assignments[SELECT @min_price:=MIN(price), @max_price:=MAX(price) FROM shop;] PASSED [ 77%] tests/test_regressions.py::test_issue359_index_error_assignments[SELECT @min_price:=MIN(price), @max_price:=MAX(price) FROM shop] PASSED [ 77%] tests/test_regressions.py::test_issue469_copy_as_psql_command PASSED [ 77%] tests/test_regressions.py::test_issue484_comments_and_newlines XFAIL [ 78%] tests/test_regressions.py::test_issue485_split_multi PASSED [ 78%] tests/test_regressions.py::test_issue489_tzcasts PASSED [ 78%] tests/test_regressions.py::test_issue562_tzcasts PASSED [ 78%] tests/test_regressions.py::test_as_in_parentheses_indents PASSED [ 79%] tests/test_regressions.py::test_format_invalid_where_clause PASSED [ 79%] tests/test_regressions.py::test_splitting_at_and_backticks_issue588 PASSED [ 79%] tests/test_regressions.py::test_comment_between_cte_clauses_issue632 PASSED [ 79%] tests/test_split.py::test_split_semicolon PASSED [ 80%] tests/test_split.py::test_split_backslash PASSED [ 80%] tests/test_split.py::test_split_create_function[function.sql] PASSED [ 80%] tests/test_split.py::test_split_create_function[function_psql.sql] PASSED [ 80%] tests/test_split.py::test_split_create_function[function_psql2.sql] PASSED [ 80%] tests/test_split.py::test_split_create_function[function_psql3.sql] PASSED [ 81%] tests/test_split.py::test_split_create_function[function_psql4.sql] PASSED [ 81%] tests/test_split.py::test_split_dashcomments PASSED [ 81%] tests/test_split.py::test_split_dashcomments_eol[select foo; -- comment\n] PASSED [ 81%] tests/test_split.py::test_split_dashcomments_eol[select foo; -- comment\r] PASSED [ 82%] tests/test_split.py::test_split_dashcomments_eol[select foo; -- comment\r\n] PASSED [ 82%] tests/test_split.py::test_split_dashcomments_eol[select foo; -- comment] PASSED [ 82%] tests/test_split.py::test_split_begintag PASSED [ 82%] tests/test_split.py::test_split_begintag_2 PASSED [ 83%] tests/test_split.py::test_split_dropif PASSED [ 83%] tests/test_split.py::test_split_comment_with_umlaut PASSED [ 83%] tests/test_split.py::test_split_comment_end_of_line PASSED [ 83%] tests/test_split.py::test_split_casewhen PASSED [ 83%] tests/test_split.py::test_split_casewhen_procedure PASSED [ 84%] tests/test_split.py::test_split_cursor_declare PASSED [ 84%] tests/test_split.py::test_split_if_function PASSED [ 84%] tests/test_split.py::test_split_stream PASSED [ 84%] tests/test_split.py::test_split_encoding_parsestream PASSED [ 85%] tests/test_split.py::test_split_unicode_parsestream PASSED [ 85%] tests/test_split.py::test_split_simple PASSED [ 85%] tests/test_split.py::test_split_ignores_empty_newlines PASSED [ 85%] tests/test_split.py::test_split_quotes_with_new_line PASSED [ 86%] tests/test_split.py::test_split_mysql_handler_for PASSED [ 86%] tests/test_tokenize.py::test_tokenize_simple PASSED [ 86%] tests/test_tokenize.py::test_tokenize_backticks PASSED [ 86%] tests/test_tokenize.py::test_tokenize_linebreaks[foo\nbar\n] PASSED [ 86%] tests/test_tokenize.py::test_tokenize_linebreaks[foo\rbar\r] PASSED [ 87%] tests/test_tokenize.py::test_tokenize_linebreaks[foo\r\nbar\r\n] PASSED [ 87%] tests/test_tokenize.py::test_tokenize_linebreaks[foo\r\nbar\n] PASSED [ 87%] tests/test_tokenize.py::test_tokenize_inline_keywords PASSED [ 87%] tests/test_tokenize.py::test_tokenize_negative_numbers PASSED [ 88%] tests/test_tokenize.py::test_token_str PASSED [ 88%] tests/test_tokenize.py::test_token_repr PASSED [ 88%] tests/test_tokenize.py::test_token_flatten PASSED [ 88%] tests/test_tokenize.py::test_tokenlist_repr PASSED [ 89%] tests/test_tokenize.py::test_single_quotes PASSED [ 89%] tests/test_tokenize.py::test_tokenlist_first PASSED [ 89%] tests/test_tokenize.py::test_tokenlist_token_matching PASSED [ 89%] tests/test_tokenize.py::test_stream_simple PASSED [ 90%] tests/test_tokenize.py::test_stream_error PASSED [ 90%] tests/test_tokenize.py::test_parse_join[JOIN] PASSED [ 90%] tests/test_tokenize.py::test_parse_join[LEFT JOIN] PASSED [ 90%] tests/test_tokenize.py::test_parse_join[LEFT OUTER JOIN] PASSED [ 90%] tests/test_tokenize.py::test_parse_join[FULL OUTER JOIN] PASSED [ 91%] tests/test_tokenize.py::test_parse_join[NATURAL JOIN] PASSED [ 91%] tests/test_tokenize.py::test_parse_join[CROSS JOIN] PASSED [ 91%] tests/test_tokenize.py::test_parse_join[STRAIGHT JOIN] PASSED [ 91%] tests/test_tokenize.py::test_parse_join[INNER JOIN] PASSED [ 92%] tests/test_tokenize.py::test_parse_join[LEFT INNER JOIN] PASSED [ 92%] tests/test_tokenize.py::test_parse_union PASSED [ 92%] tests/test_tokenize.py::test_parse_endifloop[END IF] PASSED [ 92%] tests/test_tokenize.py::test_parse_endifloop[END IF] PASSED [ 93%] tests/test_tokenize.py::test_parse_endifloop[END\t\nIF] PASSED [ 93%] tests/test_tokenize.py::test_parse_endifloop[END LOOP] PASSED [ 93%] tests/test_tokenize.py::test_parse_endifloop[END LOOP] PASSED [ 93%] tests/test_tokenize.py::test_parse_endifloop[END\t\nLOOP] PASSED [ 93%] tests/test_tokenize.py::test_parse_nulls[NULLS FIRST] PASSED [ 94%] tests/test_tokenize.py::test_parse_nulls[NULLS LAST] PASSED [ 94%] tests/test_tokenize.py::test_parse_identifiers[foo] PASSED [ 94%] tests/test_tokenize.py::test_parse_identifiers[Foo] PASSED [ 94%] tests/test_tokenize.py::test_parse_identifiers[FOO] PASSED [ 95%] tests/test_tokenize.py::test_parse_identifiers[v$name] PASSED [ 95%] tests/test_tokenize.py::test_parse_group_by PASSED [ 95%] tests/test_tokenize.py::test_parse_order_by PASSED [ 95%] tests/test_tokenize.py::test_parse_window_as PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[LIKE] PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[ILIKE] PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[NOT LIKE] PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[NOT ILIKE] PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[NOT LIKE] PASSED [ 97%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[NOT ILIKE] PASSED [ 97%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[LIKEaaa] PASSED [ 97%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[bILIKE] PASSED [ 97%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[aaILIKEbb] PASSED [ 98%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[NOTLIKE] PASSED [ 98%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[NOTILIKE] PASSED [ 98%] tests/test_tokenize.py::test_parse_tzcast[AT TIME ZONE 'UTC'] PASSED [ 98%] tests/test_tokenize.py::test_cli_commands PASSED [ 99%] tests/test_utils.py::test_remove_quotes[None-None] PASSED [ 99%] tests/test_utils.py::test_remove_quotes['foo'-foo] PASSED [ 99%] tests/test_utils.py::test_remove_quotes["foo"-foo] PASSED [ 99%] tests/test_utils.py::test_remove_quotes[`foo`-foo] PASSED [100%] ======================== 427 passed, 3 xfailed in 0.80s ======================== I: pybuild base:311: cd /build/reproducible-path/sqlparse-0.4.4/.pybuild/cpython3_3.11_sqlparse/build; python3.11 -m pytest -v ============================= test session starts ============================== platform linux -- Python 3.11.9, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.11 cachedir: .pytest_cache rootdir: /build/reproducible-path/sqlparse-0.4.4/.pybuild/cpython3_3.11_sqlparse/build collecting ... collected 430 items tests/test_cli.py::test_cli_main_empty PASSED [ 0%] tests/test_cli.py::test_parser_empty PASSED [ 0%] tests/test_cli.py::test_main_help PASSED [ 0%] tests/test_cli.py::test_valid_args PASSED [ 0%] tests/test_cli.py::test_invalid_choice PASSED [ 1%] tests/test_cli.py::test_invalid_args PASSED [ 1%] tests/test_cli.py::test_invalid_infile PASSED [ 1%] tests/test_cli.py::test_invalid_outfile PASSED [ 1%] tests/test_cli.py::test_stdout PASSED [ 2%] tests/test_cli.py::test_script PASSED [ 2%] tests/test_cli.py::test_encoding_stdout[encoding_utf8.sql-utf-8] PASSED [ 2%] tests/test_cli.py::test_encoding_stdout[encoding_gbk.sql-gbk] PASSED [ 2%] tests/test_cli.py::test_encoding_output_file[encoding_utf8.sql-utf-8] PASSED [ 3%] tests/test_cli.py::test_encoding_output_file[encoding_gbk.sql-gbk] PASSED [ 3%] tests/test_cli.py::test_encoding_stdin[encoding_utf8.sql-utf-8] PASSED [ 3%] tests/test_cli.py::test_encoding_stdin[encoding_gbk.sql-gbk] PASSED [ 3%] tests/test_cli.py::test_encoding PASSED [ 3%] tests/test_format.py::TestFormat::test_keywordcase PASSED [ 4%] tests/test_format.py::TestFormat::test_keywordcase_invalid_option PASSED [ 4%] tests/test_format.py::TestFormat::test_identifiercase PASSED [ 4%] tests/test_format.py::TestFormat::test_identifiercase_invalid_option PASSED [ 4%] tests/test_format.py::TestFormat::test_identifiercase_quotes PASSED [ 5%] tests/test_format.py::TestFormat::test_strip_comments_single PASSED [ 5%] tests/test_format.py::TestFormat::test_strip_comments_invalid_option PASSED [ 5%] tests/test_format.py::TestFormat::test_strip_comments_multi PASSED [ 5%] tests/test_format.py::TestFormat::test_strip_comments_preserves_linebreak PASSED [ 6%] tests/test_format.py::TestFormat::test_strip_ws PASSED [ 6%] tests/test_format.py::TestFormat::test_strip_ws_invalid_option PASSED [ 6%] tests/test_format.py::TestFormat::test_preserve_ws PASSED [ 6%] tests/test_format.py::TestFormat::test_notransform_of_quoted_crlf PASSED [ 6%] tests/test_format.py::TestFormatReindentAligned::test_basic PASSED [ 7%] tests/test_format.py::TestFormatReindentAligned::test_joins PASSED [ 7%] tests/test_format.py::TestFormatReindentAligned::test_case_statement PASSED [ 7%] tests/test_format.py::TestFormatReindentAligned::test_case_statement_with_between PASSED [ 7%] tests/test_format.py::TestFormatReindentAligned::test_group_by PASSED [ 8%] tests/test_format.py::TestFormatReindentAligned::test_group_by_subquery PASSED [ 8%] tests/test_format.py::TestFormatReindentAligned::test_window_functions PASSED [ 8%] tests/test_format.py::TestSpacesAroundOperators::test_basic PASSED [ 8%] tests/test_format.py::TestSpacesAroundOperators::test_bools PASSED [ 9%] tests/test_format.py::TestSpacesAroundOperators::test_nested PASSED [ 9%] tests/test_format.py::TestSpacesAroundOperators::test_wildcard_vs_mult PASSED [ 9%] tests/test_format.py::TestFormatReindent::test_option PASSED [ 9%] tests/test_format.py::TestFormatReindent::test_stmts PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_keywords PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_keywords_between PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_parenthesis PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_where PASSED [ 10%] tests/test_format.py::TestFormatReindent::test_join PASSED [ 11%] tests/test_format.py::TestFormatReindent::test_identifier_list PASSED [ 11%] tests/test_format.py::TestFormatReindent::test_identifier_list_with_wrap_after PASSED [ 11%] tests/test_format.py::TestFormatReindent::test_identifier_list_comment_first PASSED [ 11%] tests/test_format.py::TestFormatReindent::test_identifier_list_with_functions PASSED [ 12%] tests/test_format.py::TestFormatReindent::test_long_identifier_list_with_functions PASSED [ 12%] tests/test_format.py::TestFormatReindent::test_case PASSED [ 12%] tests/test_format.py::TestFormatReindent::test_case2 PASSED [ 12%] tests/test_format.py::TestFormatReindent::test_nested_identifier_list PASSED [ 13%] tests/test_format.py::TestFormatReindent::test_duplicate_linebreaks PASSED [ 13%] tests/test_format.py::TestFormatReindent::test_keywordfunctions PASSED [ 13%] tests/test_format.py::TestFormatReindent::test_identifier_and_functions PASSED [ 13%] tests/test_format.py::TestFormatReindent::test_insert_values PASSED [ 13%] tests/test_format.py::TestOutputFormat::test_python PASSED [ 14%] tests/test_format.py::TestOutputFormat::test_python_multiple_statements PASSED [ 14%] tests/test_format.py::TestOutputFormat::test_python_multiple_statements_with_formatting XFAIL [ 14%] tests/test_format.py::TestOutputFormat::test_php PASSED [ 14%] tests/test_format.py::TestOutputFormat::test_sql PASSED [ 15%] tests/test_format.py::TestOutputFormat::test_invalid_option PASSED [ 15%] tests/test_format.py::test_format_column_ordering PASSED [ 15%] tests/test_format.py::test_truncate_strings PASSED [ 15%] tests/test_format.py::test_truncate_strings_invalid_option2[bar] PASSED [ 16%] tests/test_format.py::test_truncate_strings_invalid_option2[-1] PASSED [ 16%] tests/test_format.py::test_truncate_strings_invalid_option2[0] PASSED [ 16%] tests/test_format.py::test_truncate_strings_doesnt_truncate_identifiers[select verrrylongcolumn from foo] PASSED [ 16%] tests/test_format.py::test_truncate_strings_doesnt_truncate_identifiers[select "verrrylongcolumn" from "foo"] PASSED [ 16%] tests/test_format.py::test_having_produces_newline PASSED [ 17%] tests/test_format.py::test_format_right_margin_invalid_option[ten] PASSED [ 17%] tests/test_format.py::test_format_right_margin_invalid_option[2] PASSED [ 17%] tests/test_format.py::test_format_right_margin XFAIL (Needs fixing) [ 17%] tests/test_grouping.py::test_grouping_parenthesis PASSED [ 18%] tests/test_grouping.py::test_grouping_comments PASSED [ 18%] tests/test_grouping.py::test_grouping_assignment[foo := 1;] PASSED [ 18%] tests/test_grouping.py::test_grouping_assignment[foo := 1] PASSED [ 18%] tests/test_grouping.py::test_grouping_typed_literal[x > DATE '2020-01-01'] PASSED [ 19%] tests/test_grouping.py::test_grouping_typed_literal[x > TIMESTAMP '2020-01-01 00:00:00'] PASSED [ 19%] tests/test_grouping.py::test_compare_expr[select a from b where c < d + e-Identifier-Identifier] PASSED [ 19%] tests/test_grouping.py::test_compare_expr[select a from b where c < d + interval '1 day'-Identifier-TypedLiteral] PASSED [ 19%] tests/test_grouping.py::test_compare_expr[select a from b where c < d + interval '6' month-Identifier-TypedLiteral] PASSED [ 20%] tests/test_grouping.py::test_compare_expr[select a from b where c < current_timestamp - interval '1 day'-Token-TypedLiteral] PASSED [ 20%] tests/test_grouping.py::test_grouping_identifiers PASSED [ 20%] tests/test_grouping.py::test_simple_identifiers[1 as f] PASSED [ 20%] tests/test_grouping.py::test_simple_identifiers[foo as f] PASSED [ 20%] tests/test_grouping.py::test_simple_identifiers[foo f] PASSED [ 21%] tests/test_grouping.py::test_simple_identifiers[1/2 as f] PASSED [ 21%] tests/test_grouping.py::test_simple_identifiers[1/2 f] PASSED [ 21%] tests/test_grouping.py::test_simple_identifiers[1<2 as f] PASSED [ 21%] tests/test_grouping.py::test_simple_identifiers[1<2 f] PASSED [ 22%] tests/test_grouping.py::test_group_identifier_list[foo, bar] PASSED [ 22%] tests/test_grouping.py::test_group_identifier_list[sum(a), sum(b)] PASSED [ 22%] tests/test_grouping.py::test_group_identifier_list[sum(a) as x, b as y] PASSED [ 22%] tests/test_grouping.py::test_group_identifier_list[sum(a)::integer, b] PASSED [ 23%] tests/test_grouping.py::test_group_identifier_list[sum(a)/count(b) as x, y] PASSED [ 23%] tests/test_grouping.py::test_group_identifier_list[sum(a)::integer as x, y] PASSED [ 23%] tests/test_grouping.py::test_group_identifier_list[sum(a)::integer/count(b) as x, y] PASSED [ 23%] tests/test_grouping.py::test_grouping_identifier_wildcard PASSED [ 23%] tests/test_grouping.py::test_grouping_identifier_name_wildcard PASSED [ 24%] tests/test_grouping.py::test_grouping_identifier_invalid PASSED [ 24%] tests/test_grouping.py::test_grouping_identifier_invalid_in_middle PASSED [ 24%] tests/test_grouping.py::test_grouping_identifer_as[foo as (select *)] PASSED [ 24%] tests/test_grouping.py::test_grouping_identifer_as[foo as(select *)] PASSED [ 25%] tests/test_grouping.py::test_grouping_identifier_as_invalid PASSED [ 25%] tests/test_grouping.py::test_grouping_identifier_function PASSED [ 25%] tests/test_grouping.py::test_grouping_operation[foo+100] PASSED [ 25%] tests/test_grouping.py::test_grouping_operation[foo + 100] PASSED [ 26%] tests/test_grouping.py::test_grouping_operation[foo*100] PASSED [ 26%] tests/test_grouping.py::test_grouping_identifier_list PASSED [ 26%] tests/test_grouping.py::test_grouping_identifier_list_subquery PASSED [ 26%] tests/test_grouping.py::test_grouping_identifier_list_case PASSED [ 26%] tests/test_grouping.py::test_grouping_identifier_list_other PASSED [ 27%] tests/test_grouping.py::test_grouping_identifier_list_with_inline_comments PASSED [ 27%] tests/test_grouping.py::test_grouping_identifiers_with_operators PASSED [ 27%] tests/test_grouping.py::test_grouping_identifier_list_with_order PASSED [ 27%] tests/test_grouping.py::test_grouping_where PASSED [ 28%] tests/test_grouping.py::test_grouping_where_union[select 1 where 1 = 2 union select 2] PASSED [ 28%] tests/test_grouping.py::test_grouping_where_union[select 1 where 1 = 2 union all select 2] PASSED [ 28%] tests/test_grouping.py::test_returning_kw_ends_where_clause PASSED [ 28%] tests/test_grouping.py::test_into_kw_ends_where_clause PASSED [ 29%] tests/test_grouping.py::test_grouping_typecast[select foo::integer from bar-integer] PASSED [ 29%] tests/test_grouping.py::test_grouping_typecast[select (current_database())::information_schema.sql_identifier-information_schema.sql_identifier] PASSED [ 29%] tests/test_grouping.py::test_grouping_alias PASSED [ 29%] tests/test_grouping.py::test_grouping_alias_case PASSED [ 30%] tests/test_grouping.py::test_grouping_alias_ctas PASSED [ 30%] tests/test_grouping.py::test_grouping_subquery_no_parens PASSED [ 30%] tests/test_grouping.py::test_grouping_alias_returns_none[foo.bar] PASSED [ 30%] tests/test_grouping.py::test_grouping_alias_returns_none[x, y] PASSED [ 30%] tests/test_grouping.py::test_grouping_alias_returns_none[x > y] PASSED [ 31%] tests/test_grouping.py::test_grouping_alias_returns_none[x / y] PASSED [ 31%] tests/test_grouping.py::test_grouping_idlist_function PASSED [ 31%] tests/test_grouping.py::test_grouping_comparison_exclude PASSED [ 31%] tests/test_grouping.py::test_grouping_function PASSED [ 32%] tests/test_grouping.py::test_grouping_function_not_in PASSED [ 32%] tests/test_grouping.py::test_grouping_varchar PASSED [ 32%] tests/test_grouping.py::test_statement_get_type PASSED [ 32%] tests/test_grouping.py::test_identifier_with_operators PASSED [ 33%] tests/test_grouping.py::test_identifier_with_op_trailing_ws PASSED [ 33%] tests/test_grouping.py::test_identifier_with_string_literals PASSED [ 33%] tests/test_grouping.py::test_identifier_consumes_ordering PASSED [ 33%] tests/test_grouping.py::test_comparison_with_keywords PASSED [ 33%] tests/test_grouping.py::test_comparison_with_floats PASSED [ 34%] tests/test_grouping.py::test_comparison_with_parenthesis PASSED [ 34%] tests/test_grouping.py::test_comparison_with_strings[=] PASSED [ 34%] tests/test_grouping.py::test_comparison_with_strings[!=] PASSED [ 34%] tests/test_grouping.py::test_comparison_with_strings[>] PASSED [ 35%] tests/test_grouping.py::test_comparison_with_strings[<] PASSED [ 35%] tests/test_grouping.py::test_comparison_with_strings[<=] PASSED [ 35%] tests/test_grouping.py::test_comparison_with_strings[>=] PASSED [ 35%] tests/test_grouping.py::test_comparison_with_strings[~] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[~~] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[!~~] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[LIKE] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[NOT LIKE] PASSED [ 36%] tests/test_grouping.py::test_comparison_with_strings[ILIKE] PASSED [ 37%] tests/test_grouping.py::test_comparison_with_strings[NOT ILIKE] PASSED [ 37%] tests/test_grouping.py::test_like_and_ilike_comparison PASSED [ 37%] tests/test_grouping.py::test_comparison_with_functions PASSED [ 37%] tests/test_grouping.py::test_comparison_with_typed_literal PASSED [ 38%] tests/test_grouping.py::test_forloops[FOR] PASSED [ 38%] tests/test_grouping.py::test_forloops[FOREACH] PASSED [ 38%] tests/test_grouping.py::test_nested_for PASSED [ 38%] tests/test_grouping.py::test_begin PASSED [ 39%] tests/test_grouping.py::test_keyword_followed_by_parenthesis PASSED [ 39%] tests/test_grouping.py::test_nested_begin PASSED [ 39%] tests/test_grouping.py::test_aliased_column_without_as PASSED [ 39%] tests/test_grouping.py::test_qualified_function PASSED [ 40%] tests/test_grouping.py::test_aliased_function_without_as PASSED [ 40%] tests/test_grouping.py::test_aliased_literal_without_as PASSED [ 40%] tests/test_grouping.py::test_grouping_as_cte PASSED [ 40%] tests/test_grouping.py::test_grouping_create_table PASSED [ 40%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[1.0] PASSED [ 41%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[-1.0] PASSED [ 41%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[1.] PASSED [ 41%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[-1.] PASSED [ 41%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[.1] PASSED [ 42%] tests/test_keywords.py::TestSQLREGEX::test_float_numbers[-.1] PASSED [ 42%] tests/test_parse.py::test_parse_tokenize PASSED [ 42%] tests/test_parse.py::test_parse_multistatement PASSED [ 42%] tests/test_parse.py::test_parse_newlines[select\n*from foo;] PASSED [ 43%] tests/test_parse.py::test_parse_newlines[select\r\n*from foo] PASSED [ 43%] tests/test_parse.py::test_parse_newlines[select\r*from foo] PASSED [ 43%] tests/test_parse.py::test_parse_newlines[select\r\n*from foo\n] PASSED [ 43%] tests/test_parse.py::test_parse_within PASSED [ 43%] tests/test_parse.py::test_parse_child_of PASSED [ 44%] tests/test_parse.py::test_parse_has_ancestor PASSED [ 44%] tests/test_parse.py::test_parse_float[.5] PASSED [ 44%] tests/test_parse.py::test_parse_float[.51] PASSED [ 44%] tests/test_parse.py::test_parse_float[1.5] PASSED [ 45%] tests/test_parse.py::test_parse_float[12.5] PASSED [ 45%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = ?-?] PASSED [ 45%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = :1-:1] PASSED [ 45%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = :name-:name] PASSED [ 46%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = %s-%s] PASSED [ 46%] tests/test_parse.py::test_parse_placeholder[select * from foo where user = $a-$a] PASSED [ 46%] tests/test_parse.py::test_parse_modulo_not_placeholder PASSED [ 46%] tests/test_parse.py::test_parse_access_symbol PASSED [ 46%] tests/test_parse.py::test_parse_square_brackets_notation_isnt_too_greedy PASSED [ 47%] tests/test_parse.py::test_parse_square_brackets_notation_isnt_too_greedy2 PASSED [ 47%] tests/test_parse.py::test_parse_keyword_like_identifier PASSED [ 47%] tests/test_parse.py::test_parse_function_parameter PASSED [ 47%] tests/test_parse.py::test_parse_function_param_single_literal PASSED [ 48%] tests/test_parse.py::test_parse_nested_function PASSED [ 48%] tests/test_parse.py::test_parse_div_operator PASSED [ 48%] tests/test_parse.py::test_quoted_identifier PASSED [ 48%] tests/test_parse.py::test_valid_identifier_names[foo] PASSED [ 49%] tests/test_parse.py::test_valid_identifier_names[_foo] PASSED [ 49%] tests/test_parse.py::test_valid_identifier_names[1_data] PASSED [ 49%] tests/test_parse.py::test_valid_identifier_names[\u696d\u8005\u540d\u7a31] PASSED [ 49%] tests/test_parse.py::test_psql_quotation_marks PASSED [ 50%] tests/test_parse.py::test_double_precision_is_builtin PASSED [ 50%] tests/test_parse.py::test_placeholder[?] PASSED [ 50%] tests/test_parse.py::test_placeholder[:1] PASSED [ 50%] tests/test_parse.py::test_placeholder[:foo] PASSED [ 50%] tests/test_parse.py::test_placeholder[%s] PASSED [ 51%] tests/test_parse.py::test_placeholder[%(foo)s] PASSED [ 51%] tests/test_parse.py::test_scientific_numbers[6.67428E-8-expected0] PASSED [ 51%] tests/test_parse.py::test_scientific_numbers[1.988e33-expected1] PASSED [ 51%] tests/test_parse.py::test_scientific_numbers[1e-12-expected2] PASSED [ 52%] tests/test_parse.py::test_scientific_numbers[e1-None] PASSED [ 52%] tests/test_parse.py::test_single_quotes_are_strings PASSED [ 52%] tests/test_parse.py::test_double_quotes_are_identifiers PASSED [ 52%] tests/test_parse.py::test_single_quotes_with_linebreaks PASSED [ 53%] tests/test_parse.py::test_sqlite_identifiers PASSED [ 53%] tests/test_parse.py::test_simple_1d_array_index PASSED [ 53%] tests/test_parse.py::test_2d_array_index PASSED [ 53%] tests/test_parse.py::test_array_index_function_result PASSED [ 53%] tests/test_parse.py::test_schema_qualified_array_index PASSED [ 54%] tests/test_parse.py::test_aliased_array_index PASSED [ 54%] tests/test_parse.py::test_array_literal PASSED [ 54%] tests/test_parse.py::test_typed_array_definition PASSED [ 54%] tests/test_parse.py::test_single_line_comments[select 1 -- foo] PASSED [ 55%] tests/test_parse.py::test_single_line_comments[select 1 # foo] PASSED [ 55%] tests/test_parse.py::test_names_and_special_names[foo] PASSED [ 55%] tests/test_parse.py::test_names_and_special_names[@foo] PASSED [ 55%] tests/test_parse.py::test_names_and_special_names[#foo] PASSED [ 56%] tests/test_parse.py::test_names_and_special_names[##foo] PASSED [ 56%] tests/test_parse.py::test_get_token_at_offset PASSED [ 56%] tests/test_parse.py::test_pprint PASSED [ 56%] tests/test_parse.py::test_wildcard_multiplication PASSED [ 56%] tests/test_parse.py::test_stmt_tokens_parents PASSED [ 57%] tests/test_parse.py::test_dbldollar_as_literal[$$foo$$-True] PASSED [ 57%] tests/test_parse.py::test_dbldollar_as_literal[$_$foo$_$-True] PASSED [ 57%] tests/test_parse.py::test_dbldollar_as_literal[$token$ foo $token$-True] PASSED [ 57%] tests/test_parse.py::test_dbldollar_as_literal[$_$ foo $token$bar$token$ baz$_$-True] PASSED [ 58%] tests/test_parse.py::test_dbldollar_as_literal[$A$ foo $B$-False] PASSED [ 58%] tests/test_parse.py::test_non_ascii PASSED [ 58%] tests/test_parse.py::test_get_real_name PASSED [ 58%] tests/test_parse.py::test_from_subquery PASSED [ 59%] tests/test_parse.py::test_parenthesis PASSED [ 59%] tests/test_parse.py::test_configurable_keywords PASSED [ 59%] tests/test_parse.py::test_configurable_regex PASSED [ 59%] tests/test_regressions.py::test_issue9 PASSED [ 60%] tests/test_regressions.py::test_issue13 PASSED [ 60%] tests/test_regressions.py::test_issue26[--hello] PASSED [ 60%] tests/test_regressions.py::test_issue26[-- hello] PASSED [ 60%] tests/test_regressions.py::test_issue26[--hello\n] PASSED [ 60%] tests/test_regressions.py::test_issue26[--] PASSED [ 61%] tests/test_regressions.py::test_issue26[--\n] PASSED [ 61%] tests/test_regressions.py::test_issue34[create] PASSED [ 61%] tests/test_regressions.py::test_issue34[CREATE] PASSED [ 61%] tests/test_regressions.py::test_issue35 PASSED [ 62%] tests/test_regressions.py::test_issue38 PASSED [ 62%] tests/test_regressions.py::test_issue39 PASSED [ 62%] tests/test_regressions.py::test_issue40 PASSED [ 62%] tests/test_regressions.py::test_issue78[get_name-z-select x.y::text as z from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select x.y::text as "z" from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select x."y"::text as z from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select x."y"::text as "z" from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select "x".y::text as z from foo] PASSED [ 63%] tests/test_regressions.py::test_issue78[get_name-z-select "x".y::text as "z" from foo] PASSED [ 64%] tests/test_regressions.py::test_issue78[get_name-z-select "x"."y"::text as z from foo] PASSED [ 64%] tests/test_regressions.py::test_issue78[get_name-z-select "x"."y"::text as "z" from foo] PASSED [ 64%] tests/test_regressions.py::test_issue78[get_real_name-y-select x.y::text as z from foo] PASSED [ 64%] tests/test_regressions.py::test_issue78[get_real_name-y-select x.y::text as "z" from foo] PASSED [ 65%] tests/test_regressions.py::test_issue78[get_real_name-y-select x."y"::text as z from foo] PASSED [ 65%] tests/test_regressions.py::test_issue78[get_real_name-y-select x."y"::text as "z" from foo] PASSED [ 65%] tests/test_regressions.py::test_issue78[get_real_name-y-select "x".y::text as z from foo] PASSED [ 65%] tests/test_regressions.py::test_issue78[get_real_name-y-select "x".y::text as "z" from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_real_name-y-select "x"."y"::text as z from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_real_name-y-select "x"."y"::text as "z" from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_parent_name-x-select x.y::text as z from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_parent_name-x-select x.y::text as "z" from foo] PASSED [ 66%] tests/test_regressions.py::test_issue78[get_parent_name-x-select x."y"::text as z from foo] PASSED [ 67%] tests/test_regressions.py::test_issue78[get_parent_name-x-select x."y"::text as "z" from foo] PASSED [ 67%] tests/test_regressions.py::test_issue78[get_parent_name-x-select "x".y::text as z from foo] PASSED [ 67%] tests/test_regressions.py::test_issue78[get_parent_name-x-select "x".y::text as "z" from foo] PASSED [ 67%] tests/test_regressions.py::test_issue78[get_parent_name-x-select "x"."y"::text as z from foo] PASSED [ 68%] tests/test_regressions.py::test_issue78[get_parent_name-x-select "x"."y"::text as "z" from foo] PASSED [ 68%] tests/test_regressions.py::test_issue78[get_alias-z-select x.y::text as z from foo] PASSED [ 68%] tests/test_regressions.py::test_issue78[get_alias-z-select x.y::text as "z" from foo] PASSED [ 68%] tests/test_regressions.py::test_issue78[get_alias-z-select x."y"::text as z from foo] PASSED [ 69%] tests/test_regressions.py::test_issue78[get_alias-z-select x."y"::text as "z" from foo] PASSED [ 69%] tests/test_regressions.py::test_issue78[get_alias-z-select "x".y::text as z from foo] PASSED [ 69%] tests/test_regressions.py::test_issue78[get_alias-z-select "x".y::text as "z" from foo] PASSED [ 69%] tests/test_regressions.py::test_issue78[get_alias-z-select "x"."y"::text as z from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_alias-z-select "x"."y"::text as "z" from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_typecast-text-select x.y::text as z from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_typecast-text-select x.y::text as "z" from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_typecast-text-select x."y"::text as z from foo] PASSED [ 70%] tests/test_regressions.py::test_issue78[get_typecast-text-select x."y"::text as "z" from foo] PASSED [ 71%] tests/test_regressions.py::test_issue78[get_typecast-text-select "x".y::text as z from foo] PASSED [ 71%] tests/test_regressions.py::test_issue78[get_typecast-text-select "x".y::text as "z" from foo] PASSED [ 71%] tests/test_regressions.py::test_issue78[get_typecast-text-select "x"."y"::text as z from foo] PASSED [ 71%] tests/test_regressions.py::test_issue78[get_typecast-text-select "x"."y"::text as "z" from foo] PASSED [ 72%] tests/test_regressions.py::test_issue83 PASSED [ 72%] tests/test_regressions.py::test_comment_encoding_when_reindent PASSED [ 72%] tests/test_regressions.py::test_parse_sql_with_binary PASSED [ 72%] tests/test_regressions.py::test_dont_alias_keywords PASSED [ 73%] tests/test_regressions.py::test_format_accepts_encoding PASSED [ 73%] tests/test_regressions.py::test_stream PASSED [ 73%] tests/test_regressions.py::test_issue90 PASSED [ 73%] tests/test_regressions.py::test_except_formatting PASSED [ 73%] tests/test_regressions.py::test_null_with_as PASSED [ 74%] tests/test_regressions.py::test_issue190_open_file PASSED [ 74%] tests/test_regressions.py::test_issue193_splitting_function PASSED [ 74%] tests/test_regressions.py::test_issue194_splitting_function PASSED [ 74%] tests/test_regressions.py::test_issue186_get_type PASSED [ 75%] tests/test_regressions.py::test_issue212_py2unicode PASSED [ 75%] tests/test_regressions.py::test_issue213_leadingws PASSED [ 75%] tests/test_regressions.py::test_issue227_gettype_cte PASSED [ 75%] tests/test_regressions.py::test_issue207_runaway_format PASSED [ 76%] tests/test_regressions.py::test_token_next_doesnt_ignore_skip_cm PASSED [ 76%] tests/test_regressions.py::test_issue284_as_grouping[SELECT x AS] PASSED [ 76%] tests/test_regressions.py::test_issue284_as_grouping[AS] PASSED [ 76%] tests/test_regressions.py::test_issue315_utf8_by_default PASSED [ 76%] tests/test_regressions.py::test_issue322_concurrently_is_keyword PASSED [ 77%] tests/test_regressions.py::test_issue359_index_error_assignments[SELECT @min_price:=MIN(price), @max_price:=MAX(price) FROM shop;] PASSED [ 77%] tests/test_regressions.py::test_issue359_index_error_assignments[SELECT @min_price:=MIN(price), @max_price:=MAX(price) FROM shop] PASSED [ 77%] tests/test_regressions.py::test_issue469_copy_as_psql_command PASSED [ 77%] tests/test_regressions.py::test_issue484_comments_and_newlines XFAIL [ 78%] tests/test_regressions.py::test_issue485_split_multi PASSED [ 78%] tests/test_regressions.py::test_issue489_tzcasts PASSED [ 78%] tests/test_regressions.py::test_issue562_tzcasts PASSED [ 78%] tests/test_regressions.py::test_as_in_parentheses_indents PASSED [ 79%] tests/test_regressions.py::test_format_invalid_where_clause PASSED [ 79%] tests/test_regressions.py::test_splitting_at_and_backticks_issue588 PASSED [ 79%] tests/test_regressions.py::test_comment_between_cte_clauses_issue632 PASSED [ 79%] tests/test_split.py::test_split_semicolon PASSED [ 80%] tests/test_split.py::test_split_backslash PASSED [ 80%] tests/test_split.py::test_split_create_function[function.sql] PASSED [ 80%] tests/test_split.py::test_split_create_function[function_psql.sql] PASSED [ 80%] tests/test_split.py::test_split_create_function[function_psql2.sql] PASSED [ 80%] tests/test_split.py::test_split_create_function[function_psql3.sql] PASSED [ 81%] tests/test_split.py::test_split_create_function[function_psql4.sql] PASSED [ 81%] tests/test_split.py::test_split_dashcomments PASSED [ 81%] tests/test_split.py::test_split_dashcomments_eol[select foo; -- comment\n] PASSED [ 81%] tests/test_split.py::test_split_dashcomments_eol[select foo; -- comment\r] PASSED [ 82%] tests/test_split.py::test_split_dashcomments_eol[select foo; -- comment\r\n] PASSED [ 82%] tests/test_split.py::test_split_dashcomments_eol[select foo; -- comment] PASSED [ 82%] tests/test_split.py::test_split_begintag PASSED [ 82%] tests/test_split.py::test_split_begintag_2 PASSED [ 83%] tests/test_split.py::test_split_dropif PASSED [ 83%] tests/test_split.py::test_split_comment_with_umlaut PASSED [ 83%] tests/test_split.py::test_split_comment_end_of_line PASSED [ 83%] tests/test_split.py::test_split_casewhen PASSED [ 83%] tests/test_split.py::test_split_casewhen_procedure PASSED [ 84%] tests/test_split.py::test_split_cursor_declare PASSED [ 84%] tests/test_split.py::test_split_if_function PASSED [ 84%] tests/test_split.py::test_split_stream PASSED [ 84%] tests/test_split.py::test_split_encoding_parsestream PASSED [ 85%] tests/test_split.py::test_split_unicode_parsestream PASSED [ 85%] tests/test_split.py::test_split_simple PASSED [ 85%] tests/test_split.py::test_split_ignores_empty_newlines PASSED [ 85%] tests/test_split.py::test_split_quotes_with_new_line PASSED [ 86%] tests/test_split.py::test_split_mysql_handler_for PASSED [ 86%] tests/test_tokenize.py::test_tokenize_simple PASSED [ 86%] tests/test_tokenize.py::test_tokenize_backticks PASSED [ 86%] tests/test_tokenize.py::test_tokenize_linebreaks[foo\nbar\n] PASSED [ 86%] tests/test_tokenize.py::test_tokenize_linebreaks[foo\rbar\r] PASSED [ 87%] tests/test_tokenize.py::test_tokenize_linebreaks[foo\r\nbar\r\n] PASSED [ 87%] tests/test_tokenize.py::test_tokenize_linebreaks[foo\r\nbar\n] PASSED [ 87%] tests/test_tokenize.py::test_tokenize_inline_keywords PASSED [ 87%] tests/test_tokenize.py::test_tokenize_negative_numbers PASSED [ 88%] tests/test_tokenize.py::test_token_str PASSED [ 88%] tests/test_tokenize.py::test_token_repr PASSED [ 88%] tests/test_tokenize.py::test_token_flatten PASSED [ 88%] tests/test_tokenize.py::test_tokenlist_repr PASSED [ 89%] tests/test_tokenize.py::test_single_quotes PASSED [ 89%] tests/test_tokenize.py::test_tokenlist_first PASSED [ 89%] tests/test_tokenize.py::test_tokenlist_token_matching PASSED [ 89%] tests/test_tokenize.py::test_stream_simple PASSED [ 90%] tests/test_tokenize.py::test_stream_error PASSED [ 90%] tests/test_tokenize.py::test_parse_join[JOIN] PASSED [ 90%] tests/test_tokenize.py::test_parse_join[LEFT JOIN] PASSED [ 90%] tests/test_tokenize.py::test_parse_join[LEFT OUTER JOIN] PASSED [ 90%] tests/test_tokenize.py::test_parse_join[FULL OUTER JOIN] PASSED [ 91%] tests/test_tokenize.py::test_parse_join[NATURAL JOIN] PASSED [ 91%] tests/test_tokenize.py::test_parse_join[CROSS JOIN] PASSED [ 91%] tests/test_tokenize.py::test_parse_join[STRAIGHT JOIN] PASSED [ 91%] tests/test_tokenize.py::test_parse_join[INNER JOIN] PASSED [ 92%] tests/test_tokenize.py::test_parse_join[LEFT INNER JOIN] PASSED [ 92%] tests/test_tokenize.py::test_parse_union PASSED [ 92%] tests/test_tokenize.py::test_parse_endifloop[END IF] PASSED [ 92%] tests/test_tokenize.py::test_parse_endifloop[END IF] PASSED [ 93%] tests/test_tokenize.py::test_parse_endifloop[END\t\nIF] PASSED [ 93%] tests/test_tokenize.py::test_parse_endifloop[END LOOP] PASSED [ 93%] tests/test_tokenize.py::test_parse_endifloop[END LOOP] PASSED [ 93%] tests/test_tokenize.py::test_parse_endifloop[END\t\nLOOP] PASSED [ 93%] tests/test_tokenize.py::test_parse_nulls[NULLS FIRST] PASSED [ 94%] tests/test_tokenize.py::test_parse_nulls[NULLS LAST] PASSED [ 94%] tests/test_tokenize.py::test_parse_identifiers[foo] PASSED [ 94%] tests/test_tokenize.py::test_parse_identifiers[Foo] PASSED [ 94%] tests/test_tokenize.py::test_parse_identifiers[FOO] PASSED [ 95%] tests/test_tokenize.py::test_parse_identifiers[v$name] PASSED [ 95%] tests/test_tokenize.py::test_parse_group_by PASSED [ 95%] tests/test_tokenize.py::test_parse_order_by PASSED [ 95%] tests/test_tokenize.py::test_parse_window_as PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[LIKE] PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[ILIKE] PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[NOT LIKE] PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[NOT ILIKE] PASSED [ 96%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[NOT LIKE] PASSED [ 97%] tests/test_tokenize.py::test_like_and_ilike_parsed_as_comparisons[NOT ILIKE] PASSED [ 97%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[LIKEaaa] PASSED [ 97%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[bILIKE] PASSED [ 97%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[aaILIKEbb] PASSED [ 98%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[NOTLIKE] PASSED [ 98%] tests/test_tokenize.py::test_near_like_and_ilike_parsed_appropriately[NOTILIKE] PASSED [ 98%] tests/test_tokenize.py::test_parse_tzcast[AT TIME ZONE 'UTC'] PASSED [ 98%] tests/test_tokenize.py::test_cli_commands PASSED [ 99%] tests/test_utils.py::test_remove_quotes[None-None] PASSED [ 99%] tests/test_utils.py::test_remove_quotes['foo'-foo] PASSED [ 99%] tests/test_utils.py::test_remove_quotes["foo"-foo] PASSED [ 99%] tests/test_utils.py::test_remove_quotes[`foo`-foo] PASSED [100%] ======================== 427 passed, 3 xfailed in 1.00s ======================== create-stamp debian/debhelper-build-stamp make[1]: Leaving directory '/build/reproducible-path/sqlparse-0.4.4' dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/sqlparse-0.4.4' dh_auto_install I: pybuild plugin_pyproject:178: Copying package built for python3.12 to destdir I: pybuild plugin_pyproject:178: Copying package built for python3.11 to destdir # Use the separate binary package for the cli script. mkdir -p debian/sqlformat/usr/bin mv debian/python3-sqlparse/usr/bin/sqlformat \ debian/sqlformat/usr/bin rm -rf debian/python3-sqlparse/usr/bin make[1]: Leaving directory '/build/reproducible-path/sqlparse-0.4.4' dh_installdocs -O--buildsystem=pybuild dh_installdocs: warning: Cannot auto-detect main package for python-sqlparse-doc. If the default is wrong, please use --doc-main-package dh_sphinxdoc -O--buildsystem=pybuild dh_installchangelogs -O--buildsystem=pybuild dh_installman -O--buildsystem=pybuild dh_python3 -O--buildsystem=pybuild dh_installsystemduser -O--buildsystem=pybuild dh_perl -O--buildsystem=pybuild dh_link -O--buildsystem=pybuild dh_strip_nondeterminism -O--buildsystem=pybuild dh_compress -O--buildsystem=pybuild dh_fixperms -O--buildsystem=pybuild dh_missing -O--buildsystem=pybuild dh_installdeb -O--buildsystem=pybuild dh_gencontrol -O--buildsystem=pybuild dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'python3-sqlparse' in '../python3-sqlparse_0.4.4-1_all.deb'. dpkg-deb: building package 'python-sqlparse-doc' in '../python-sqlparse-doc_0.4.4-1_all.deb'. dpkg-deb: building package 'sqlformat' in '../sqlformat_0.4.4-1_all.deb'. dpkg-genbuildinfo --build=binary -O../sqlparse_0.4.4-1_arm64.buildinfo dpkg-genchanges --build=binary -O../sqlparse_0.4.4-1_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration I: user script /srv/workspace/pbuilder/3086446/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/3086446/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/3086446 and its subdirectories I: Current time: Tue May 7 13:49:31 +14 2024 I: pbuilder-time-stamp: 1715039371