==> Building on rapidash ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list created directory packages/python-sqlparse ./ .SRCINFO 534 100% 0.00kB/s 0:00:00 534 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=7/9) .nvchecker.toml 52 100% 50.78kB/s 0:00:00 52 100% 50.78kB/s 0:00:00 (xfr#2, to-chk=6/9) LICENSE 646 100% 630.86kB/s 0:00:00 646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=5/9) PKGBUILD 901 100% 879.88kB/s 0:00:00 901 100% 879.88kB/s 0:00:00 (xfr#4, to-chk=4/9) REUSE.toml 375 100% 366.21kB/s 0:00:00 375 100% 366.21kB/s 0:00:00 (xfr#5, to-chk=3/9) python-sqlparse-0.5.4-1.log 738 100% 720.70kB/s 0:00:00 738 100% 720.70kB/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ LICENSES/0BSD.txt -> ../LICENSE sent 2,325 bytes received 191 bytes 1,677.33 bytes/sec total size is 2,713 speedup is 1.08 ==> Running pkgctl build --arch riscv64 on remote host... ==> WARNING: invalid architecture: riscv64 ==> Updating pacman database cache [?25l:: Synchronizing package databases... core downloading... extra downloading... multilib downloading... [?25h==> Building python-sqlparse -> repo: extra -> arch: riscv64 -> worker: felix-2 ==> Building python-sqlparse for [extra] (riscv64) Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. [?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-2]...done ==> Making package: python-sqlparse 0.5.4-1 (Fri Sep 4 10:01:23 2026) ==> Retrieving sources...  -> Downloading python-sqlparse-0.5.4.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 115.8k 0 115.8k 0 0 99234 0 00:01 0 100 115.8k 0 115.8k 0 0 99228 0 00:01 0 100 115.8k 0 115.8k 0 0 99222 0 00:01 0 ==> Validating source files with sha256sums... python-sqlparse-0.5.4.tar.gz ... Passed Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. ==> Making package: python-sqlparse 0.5.4-1 (Fri Sep 4 10:01:34 2026) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (12) New Version Net Change extra/python-editables 0.6-1 0.04 MiB extra/python-iniconfig 2.3.0-1 0.07 MiB extra/python-packaging 26.3-1 1.58 MiB extra/python-pathspec 1.1.1-1 0.47 MiB extra/python-pluggy 1.6.0-3.1 0.23 MiB extra/python-pygments 2.20.0-1 15.36 MiB extra/python-pyproject-hooks 1.2.0-6 0.11 MiB extra/python-trove-classifiers 2026.6.1.19-1 0.16 MiB extra/python-build 1.6.0-1 0.33 MiB extra/python-hatchling 1.30.1-1 1.09 MiB extra/python-installer 1.0.1-1 0.21 MiB extra/python-pytest 1:9.1.0-1 4.95 MiB Total Installed Size: 24.60 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-packaging... installing python-pyproject-hooks... installing python-build... Optional dependencies for python-build python-pip: to use as the Python package installer (default) python-uv: to use as the Python package installer python-virtualenv: to use virtualenv for build isolation installing python-installer... installing python-editables... installing python-pathspec... Optional dependencies for python-pathspec python-google-re2: re2 backend installing python-pluggy... installing python-trove-classifiers... installing python-hatchling... installing python-iniconfig... installing python-pygments... installing python-pytest... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h==> Retrieving sources...  -> Found python-sqlparse-0.5.4.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Extracting python-sqlparse-0.5.4.tar.gz with bsdtar ==> Starting build()... * Getting build dependencies for wheel... * Building wheel... Successfully built sqlparse-0.5.4-py3-none-any.whl ==> Starting check()... ============================= test session starts ============================== platform linux -- Python 3.14.7, pytest-9.1.0, pluggy-1.6.0 rootdir: /build/python-sqlparse/src/sqlparse-0.5.4 configfile: pyproject.toml collected 480 items tests/test_cli.py ....................... [ 4%] tests/test_dos_prevention.py F.F.. [ 5%] tests/test_format.py ...............................................x... [ 16%] ..........x... [ 19%] tests/test_grouping.py ................................................. [ 29%] .................................................. [ 40%] tests/test_keywords.py ...... [ 41%] tests/test_parse.py .................................................... [ 52%] ................................... [ 59%] tests/test_regressions.py .............................................. [ 68%] ................................X.......... [ 77%] tests/test_split.py ......................................... [ 86%] tests/test_tokenize.py ................................................. [ 96%] ............ [ 99%] tests/test_utils.py .... [100%] =================================== FAILURES =================================== _____________ TestDoSPrevention.test_large_tuple_list_performance ______________ self = def test_large_tuple_list_performance(self): """Test that parsing a large list of tuples doesn't cause DoS.""" # Generate SQL with many tuples (like Django composite primary key queries) sql = ''' SELECT "composite_pk_comment"."tenant_id", "composite_pk_comment"."comment_id" FROM "composite_pk_comment" WHERE ("composite_pk_comment"."tenant_id", "composite_pk_comment"."comment_id") IN (''' # Generate 5000 tuples - this would previously cause a hang tuples = [] for i in range(1, 5001): tuples.append(f"(1, {i})") sql += ", ".join(tuples) + ")" # Test should complete quickly (under 5 seconds) start_time = time.time() result = sqlparse.format(sql, reindent=True, keyword_case="upper") execution_time = time.time() - start_time > assert execution_time < 5.0, f"Parsing took too long: {execution_time:.2f}s" E AssertionError: Parsing took too long: 9.64s E assert 9.643243789672852 < 5.0 tests/test_dos_prevention.py:31: AssertionError _____________ TestDoSPrevention.test_very_large_token_list_limited _____________ self = def test_very_large_token_list_limited(self): """Test that very large token lists are handled gracefully.""" # Create a SQL with many identifiers identifiers = [] for i in range(15000): # More than MAX_GROUPING_TOKENS identifiers.append(f"col{i}") sql = f"SELECT {', '.join(identifiers)} FROM table1" # Should complete without hanging start_time = time.time() result = sqlparse.format(sql, reindent=True) execution_time = time.time() - start_time > assert execution_time < 10.0, f"Parsing took too long: {execution_time:.2f}s" E AssertionError: Parsing took too long: 14.74s E assert 14.739803314208984 < 10.0 tests/test_dos_prevention.py:59: AssertionError =========================== short test summary info ============================ FAILED tests/test_dos_prevention.py::TestDoSPrevention::test_large_tuple_list_performance FAILED tests/test_dos_prevention.py::TestDoSPrevention::test_very_large_token_list_limited ============= 2 failed, 475 passed, 2 xfailed, 1 xpassed in 40.44s ============= ==> ERROR: A failure occurred in check().  Aborting... ==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix-2/build receiving incremental file list python-sqlparse-0.5.4-1-riscv64-build.log python-sqlparse-0.5.4-1-riscv64-check.log sent 62 bytes received 1,549 bytes 644.40 bytes/sec total size is 4,272 speedup is 2.65