Package: src:sqlfluff Version: 3.3.1-1 Severity: serious Tags: ftbfs trixie sid
Dear maintainer: During a rebuild of all packages in unstable, your package failed to build: -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild pybuild --clean -i python{version} -p "3.12 3.13" rm -rf .pybuild/ find . -name \*.pyc -exec rm {} \; dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild rm -f debian/debhelper-build-stamp rm -rf debian/.debhelper/ rm -f -- debian/sqlfluff.substvars debian/sqlfluff-doc.substvars debian/files rm -fr -- debian/sqlfluff/ debian/tmp/ debian/sqlfluff-doc/ find . \( \( \ \( -path .\*/.git -o -path .\*/.svn -o -path .\*/.bzr -o -path .\*/.hg -o -path .\*/CVS -o -path .\*/.pc -o -path .\*/_darcs \) -prune -o -type f -a \ [... snipped ...] ret_code = 1, args = [<Command render>, ['test/fixtures/cli/fail_many.sql']] kwargs = {}, cli_input = None, mix_stderr = True assert_output_contains = "L: 3 | P: 8 | TMP | Undefined jinja template variable: 'something'" raise_exceptions = True def invoke_assert_code( ret_code: int = 0, args: Optional[List[Any]] = None, kwargs: Optional[Dict[str, Any]] = None, cli_input: Optional[str] = None, mix_stderr: bool = True, assert_output_contains: str = "", raise_exceptions: bool = True, ) -> Result: """Invoke a command and check return code.""" args = args or [] kwargs = kwargs or {} if cli_input: kwargs["input"] = cli_input > runner = CliRunner(mix_stderr=mix_stderr) E TypeError: CliRunner.__init__() got an unexpected keyword argument 'mix_stderr' sqlfluff/utils/testing/cli.py:22: TypeError ____________________________ test__cli__render_pass ____________________________ def test__cli__render_pass(): """Basic how render works.""" > invoke_assert_code( ret_code=0, args=[ render, [ "test/fixtures/templater/jinja_a/jinja.sql", ], ], assert_output_contains="SELECT 56 FROM sch1.tbl2", ) test/cli/commands_test.py:2395: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ret_code = 0 args = [<Command render>, ['test/fixtures/templater/jinja_a/jinja.sql']] kwargs = {}, cli_input = None, mix_stderr = True assert_output_contains = 'SELECT 56 FROM sch1.tbl2', raise_exceptions = True def invoke_assert_code( ret_code: int = 0, args: Optional[List[Any]] = None, kwargs: Optional[Dict[str, Any]] = None, cli_input: Optional[str] = None, mix_stderr: bool = True, assert_output_contains: str = "", raise_exceptions: bool = True, ) -> Result: """Invoke a command and check return code.""" args = args or [] kwargs = kwargs or {} if cli_input: kwargs["input"] = cli_input > runner = CliRunner(mix_stderr=mix_stderr) E TypeError: CliRunner.__init__() got an unexpected keyword argument 'mix_stderr' sqlfluff/utils/testing/cli.py:22: TypeError _______ test_diff_quality_plugin[sql_paths0-expected_violations_lines0] ________ sql_paths = ['linter/indentation_errors.sql'] expected_violations_lines = [2, 3, 4, 5, 6] monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f2bcf575f60> @pytest.mark.parametrize( "sql_paths,expected_violations_lines", [ (("linter/indentation_errors.sql",), list(range(2, 7))), (("linter/parse_error.sql",), {1}), # NB: This version of the file is in a directory configured # to ignore parsing errors. (("linter/diffquality/parse_error.sql",), []), (tuple(), []), ], ) def test_diff_quality_plugin(sql_paths, expected_violations_lines, monkeypatch): """Test the plugin at least finds errors on the expected lines.""" def execute(command, exit_codes): printable_command_parts = [ c.decode(sys.getfilesystemencoding()) if isinstance(c, bytes) else c for c in command ] result = invoke_assert_code( ret_code=1 if expected_violations_lines else 0, args=[ lint, printable_command_parts[2:], ], ) return result.output, "" # Mock the execute function -- this is an attempt to prevent the CircleCI # coverage check from hanging. (We've seen issues in the past where using # subprocesses caused things to occasionally hang.) monkeypatch.setattr(diff_quality_plugin, "execute", execute) monkeypatch.chdir("test/fixtures/") violation_reporter = diff_quality_plugin.diff_cover_report_quality( options="--processes=1" ) assert len(sql_paths) in (0, 1) sql_paths = [str(Path(sql_path)) for sql_path in sql_paths] > violations_dict = violation_reporter.violations_batch(sql_paths) /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/test/diff_quality_plugin_test.py:53: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <sqlfluff.diff_quality_plugin.SQLFluffViolationReporter object at 0x7f2be834be00> src_paths = ['linter/indentation_errors.sql'] def violations_batch(self, src_paths): """Return a dictionary of Violations recorded in `src_paths`.""" # Check if SQLFluff is installed. if self.driver_tool_installed is None: self.driver_tool_installed = self.driver.installed() if not self.driver_tool_installed: # pragma: no cover > raise OSError(f"{self.driver.name} is not installed") E OSError: ['/usr/bin/python3.13', '-m', 'sqlfluff.cli.commands'] is not installed /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/sqlfluff/diff_quality_plugin.py:61: OSError _______ test_diff_quality_plugin[sql_paths1-expected_violations_lines1] ________ sql_paths = ['linter/parse_error.sql'], expected_violations_lines = {1} monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f2be98c1550> @pytest.mark.parametrize( "sql_paths,expected_violations_lines", [ (("linter/indentation_errors.sql",), list(range(2, 7))), (("linter/parse_error.sql",), {1}), # NB: This version of the file is in a directory configured # to ignore parsing errors. (("linter/diffquality/parse_error.sql",), []), (tuple(), []), ], ) def test_diff_quality_plugin(sql_paths, expected_violations_lines, monkeypatch): """Test the plugin at least finds errors on the expected lines.""" def execute(command, exit_codes): printable_command_parts = [ c.decode(sys.getfilesystemencoding()) if isinstance(c, bytes) else c for c in command ] result = invoke_assert_code( ret_code=1 if expected_violations_lines else 0, args=[ lint, printable_command_parts[2:], ], ) return result.output, "" # Mock the execute function -- this is an attempt to prevent the CircleCI # coverage check from hanging. (We've seen issues in the past where using # subprocesses caused things to occasionally hang.) monkeypatch.setattr(diff_quality_plugin, "execute", execute) monkeypatch.chdir("test/fixtures/") violation_reporter = diff_quality_plugin.diff_cover_report_quality( options="--processes=1" ) assert len(sql_paths) in (0, 1) sql_paths = [str(Path(sql_path)) for sql_path in sql_paths] > violations_dict = violation_reporter.violations_batch(sql_paths) /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/test/diff_quality_plugin_test.py:53: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <sqlfluff.diff_quality_plugin.SQLFluffViolationReporter object at 0x7f2be6e7ed50> src_paths = ['linter/parse_error.sql'] def violations_batch(self, src_paths): """Return a dictionary of Violations recorded in `src_paths`.""" # Check if SQLFluff is installed. if self.driver_tool_installed is None: self.driver_tool_installed = self.driver.installed() if not self.driver_tool_installed: # pragma: no cover > raise OSError(f"{self.driver.name} is not installed") E OSError: ['/usr/bin/python3.13', '-m', 'sqlfluff.cli.commands'] is not installed /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/sqlfluff/diff_quality_plugin.py:61: OSError _______ test_diff_quality_plugin[sql_paths2-expected_violations_lines2] ________ sql_paths = ['linter/diffquality/parse_error.sql'] expected_violations_lines = [] monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f2be8ca0210> @pytest.mark.parametrize( "sql_paths,expected_violations_lines", [ (("linter/indentation_errors.sql",), list(range(2, 7))), (("linter/parse_error.sql",), {1}), # NB: This version of the file is in a directory configured # to ignore parsing errors. (("linter/diffquality/parse_error.sql",), []), (tuple(), []), ], ) def test_diff_quality_plugin(sql_paths, expected_violations_lines, monkeypatch): """Test the plugin at least finds errors on the expected lines.""" def execute(command, exit_codes): printable_command_parts = [ c.decode(sys.getfilesystemencoding()) if isinstance(c, bytes) else c for c in command ] result = invoke_assert_code( ret_code=1 if expected_violations_lines else 0, args=[ lint, printable_command_parts[2:], ], ) return result.output, "" # Mock the execute function -- this is an attempt to prevent the CircleCI # coverage check from hanging. (We've seen issues in the past where using # subprocesses caused things to occasionally hang.) monkeypatch.setattr(diff_quality_plugin, "execute", execute) monkeypatch.chdir("test/fixtures/") violation_reporter = diff_quality_plugin.diff_cover_report_quality( options="--processes=1" ) assert len(sql_paths) in (0, 1) sql_paths = [str(Path(sql_path)) for sql_path in sql_paths] > violations_dict = violation_reporter.violations_batch(sql_paths) /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/test/diff_quality_plugin_test.py:53: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <sqlfluff.diff_quality_plugin.SQLFluffViolationReporter object at 0x7f2be6e7e0d0> src_paths = ['linter/diffquality/parse_error.sql'] def violations_batch(self, src_paths): """Return a dictionary of Violations recorded in `src_paths`.""" # Check if SQLFluff is installed. if self.driver_tool_installed is None: self.driver_tool_installed = self.driver.installed() if not self.driver_tool_installed: # pragma: no cover > raise OSError(f"{self.driver.name} is not installed") E OSError: ['/usr/bin/python3.13', '-m', 'sqlfluff.cli.commands'] is not installed /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/sqlfluff/diff_quality_plugin.py:61: OSError _______ test_diff_quality_plugin[sql_paths3-expected_violations_lines3] ________ sql_paths = [], expected_violations_lines = [] monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f2bcf47d160> @pytest.mark.parametrize( "sql_paths,expected_violations_lines", [ (("linter/indentation_errors.sql",), list(range(2, 7))), (("linter/parse_error.sql",), {1}), # NB: This version of the file is in a directory configured # to ignore parsing errors. (("linter/diffquality/parse_error.sql",), []), (tuple(), []), ], ) def test_diff_quality_plugin(sql_paths, expected_violations_lines, monkeypatch): """Test the plugin at least finds errors on the expected lines.""" def execute(command, exit_codes): printable_command_parts = [ c.decode(sys.getfilesystemencoding()) if isinstance(c, bytes) else c for c in command ] result = invoke_assert_code( ret_code=1 if expected_violations_lines else 0, args=[ lint, printable_command_parts[2:], ], ) return result.output, "" # Mock the execute function -- this is an attempt to prevent the CircleCI # coverage check from hanging. (We've seen issues in the past where using # subprocesses caused things to occasionally hang.) monkeypatch.setattr(diff_quality_plugin, "execute", execute) monkeypatch.chdir("test/fixtures/") violation_reporter = diff_quality_plugin.diff_cover_report_quality( options="--processes=1" ) assert len(sql_paths) in (0, 1) sql_paths = [str(Path(sql_path)) for sql_path in sql_paths] > violations_dict = violation_reporter.violations_batch(sql_paths) /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/test/diff_quality_plugin_test.py:53: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <sqlfluff.diff_quality_plugin.SQLFluffViolationReporter object at 0x7f2be788eea0> src_paths = [] def violations_batch(self, src_paths): """Return a dictionary of Violations recorded in `src_paths`.""" # Check if SQLFluff is installed. if self.driver_tool_installed is None: self.driver_tool_installed = self.driver.installed() if not self.driver_tool_installed: # pragma: no cover > raise OSError(f"{self.driver.name} is not installed") E OSError: ['/usr/bin/python3.13', '-m', 'sqlfluff.cli.commands'] is not installed /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/sqlfluff/diff_quality_plugin.py:61: OSError =========================== short test summary info ============================ FAILED test/cli/commands_test.py::test__cli__command_directed - TypeError: Cl... FAILED test/cli/commands_test.py::test__cli__command_dialect - TypeError: Cli... FAILED test/cli/commands_test.py::test__cli__command_no_dialect[command0] - T... FAILED test/cli/commands_test.py::test__cli__command_no_dialect[command1] - T... FAILED test/cli/commands_test.py::test__cli__command_no_dialect[command2] - T... FAILED test/cli/commands_test.py::test__cli__command_no_dialect[command3] - T... FAILED test/cli/commands_test.py::test__cli__command_no_dialect[command4] - T... FAILED test/cli/commands_test.py::test__cli__command_parse_error_dialect_explicit_warning FAILED test/cli/commands_test.py::test__cli__command_parse_error_dialect_implicit_warning FAILED test/cli/commands_test.py::test__cli__command_dialect_legacy - TypeErr... FAILED test/cli/commands_test.py::test__cli__command_extra_config_fail - Type... FAILED test/cli/commands_test.py::test__cli__command_stdin_filename_config[command0-test/fixtures/cli/stdin_filename/without_config/stdin_filename.sql-0-[L: 5, P: 1] | join_clause:\n[L: 5, P: 1] | keyword: 'POSITIONAL'] FAILED test/cli/commands_test.py::test__cli__command_stdin_filename_config[command1-test/fixtures/an_ansi_config_here.sql-1-Parsing errors found and dialect is set to 'ansi'.] FAILED test/cli/commands_test.py::test__cli__command_stdin_filename_config[command2-test/fixtures/cli/stdin_filename/stdin_filename.sql-0-All Finished!] FAILED test/cli/commands_test.py::test__cli__command_stdin_filename_config[command3-test/fixtures/cli/stdin_filename/without_config/stdin_filename.sql-0-All Finished!] FAILED test/cli/commands_test.py::test__cli__command_stdin_filename_config[command4-test/fixtures/an_ansi_config_here.sql-1-Parsing errors found and dialect is set to 'ansi'.] FAILED test/cli/commands_test.py::test__cli__command_stdin_filename_config[command5-test/fixtures/cli/stdin_filename/stdin_filename.sql-0-SELECT\n A.COL1,\n B.COL2\nFROM TABA AS A\nPOSITIONAL JOIN TABB AS B;\n] FAILED test/cli/commands_test.py::test__cli__command_stdin_filename_config[command6-test/fixtures/cli/stdin_filename/without_config/stdin_filename.sql-0-SELECT\n A.COL1,\n B.COL2\nFROM TABA AS A\nPOSITIONAL JOIN TABB AS B;\n] FAILED test/cli/commands_test.py::test__cli__command_stdin_filename_config[command7-test/fixtures/an_ansi_config_here.sql-1-[1 templating/parsing errors found]] FAILED test/cli/commands_test.py::test__cli__command_stdin_filename_config[command8-test/fixtures/cli/stdin_filename/stdin_filename.sql-0-SELECT\n A.COL1,\n B.COL2\nFROM TABA AS A\nPOSITIONAL JOIN TABB AS B;\n] FAILED test/cli/commands_test.py::test__cli__command_stdin_filename_config[command9-test/fixtures/cli/stdin_filename/without_config/stdin_filename.sql-0-SELECT\n A.COL1,\n B.COL2\nFROM TABA AS A\nPOSITIONAL JOIN TABB AS B;\n] FAILED test/cli/commands_test.py::test__cli__command_stdin_filename_config[command10-test/fixtures/an_ansi_config_here.sql-1-Unfixable violations detected.] FAILED test/cli/commands_test.py::test__cli__command_lint_stdin[command0] - T... FAILED test/cli/commands_test.py::test__cli__command_lint_stdin[command1] - T... FAILED test/cli/commands_test.py::test__cli__command_lint_stdin[command2] - T... FAILED test/cli/commands_test.py::test__cli__command_lint_stdin[command3] - T... FAILED test/cli/commands_test.py::test__cli__command_lint_empty_stdin - TypeE... FAILED test/cli/commands_test.py::test__cli__command_render_stdin - TypeError... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command0] - T... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command1] - T... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command2] - T... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command3] - T... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command4] - T... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command5] - T... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command6] - T... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command7] - T... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command8] - T... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command9] - T... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command10] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command11] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command12] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command13] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command14] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command15] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command16] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command17] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command18] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command19] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command20] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command21] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command22] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command23] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command24] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command25] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command26] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command27] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command28] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse[command29] - ... FAILED test/cli/commands_test.py::test__cli__command_lint_parse_with_retcode[command0-1] FAILED test/cli/commands_test.py::test__cli__command_lint_parse_with_retcode[command1-1] FAILED test/cli/commands_test.py::test__cli__command_lint_parse_with_retcode[command2-1] FAILED test/cli/commands_test.py::test__cli__command_lint_parse_with_retcode[command3-0] FAILED test/cli/commands_test.py::test__cli__command_lint_parse_with_retcode[command4-0] FAILED test/cli/commands_test.py::test__cli__command_lint_parse_with_retcode[command5-2] FAILED test/cli/commands_test.py::test__cli__command_lint_parse_with_retcode[command6-1] FAILED test/cli/commands_test.py::test__cli__command_lint_parse_with_retcode[command7-0] FAILED test/cli/commands_test.py::test__cli__command_lint_parse_with_retcode[command8-1] FAILED test/cli/commands_test.py::test__cli__command_lint_parse_with_retcode[command9-1] FAILED test/cli/commands_test.py::test__cli__command_lint_parse_with_retcode[command10-1] FAILED test/cli/commands_test.py::test__cli__command_lint_parse_with_retcode[command11-2] FAILED test/cli/commands_test.py::test__cli__command_lint_parse_with_retcode[command12-1] FAILED test/cli/commands_test.py::test__cli__command_lint_parse_with_retcode[command13-1] FAILED test/cli/commands_test.py::test__cli__command_rules - TypeError: CliRu... FAILED test/cli/commands_test.py::test__cli__command_dialects - TypeError: Cl... FAILED test/cli/commands_test.py::test__cli__command__fix[LT01-test/fixtures/linter/indentation_errors.sql0] FAILED test/cli/commands_test.py::test__cli__command__fix[LT01-test/fixtures/linter/whitespace_errors.sql] FAILED test/cli/commands_test.py::test__cli__command__fix[LT01-test/fixtures/linter/indentation_errors.sql1] FAILED test/cli/commands_test.py::test__cli__command__fix[LT02-test/fixtures/linter/indentation_error_hard.sql] FAILED test/cli/commands_test.py::test_cli_fix_even_unparsable[command-line-False] FAILED test/cli/commands_test.py::test_cli_fix_even_unparsable[command-line-True] FAILED test/cli/commands_test.py::test_cli_fix_even_unparsable[config-file-False] FAILED test/cli/commands_test.py::test_cli_fix_even_unparsable[config-file-True] FAILED test/cli/commands_test.py::test__cli__command_fix_stdin[select * from t-LT02-select * from t] FAILED test/cli/commands_test.py::test__cli__command_fix_stdin[ select * from t-LT02-select * from t] FAILED test/cli/commands_test.py::test__cli__command_format_stdin[select * from t\n-select * from t\n] FAILED test/cli/commands_test.py::test__cli__command_format_stdin[ select * FRoM t -select * from t\n] FAILED test/cli/commands_test.py::test__cli__command_format_stdin[select\n count(*) over (\n order by a desc \n range between b row and '10 seconds' following -- noqa: PRS\n ) as c\nfrom d\n-select\n count(*) over (\n order by a desc \n range between b row and '10 seconds' following -- noqa: PRS\n ) as c\nfrom d\n] FAILED test/cli/commands_test.py::test__cli__command_fix_stdin_logging_to_stderr FAILED test/cli/commands_test.py::test__cli__command_fix_stdin_safety - TypeE... FAILED test/cli/commands_test.py::test__cli__command_fix_stdin_error_exit_code[create TABLE {{ params.dsfsdfds }}.t (a int)-1--v-Fix aborted due to unparsable template variables.] FAILED test/cli/commands_test.py::test__cli__command_fix_stdin_error_exit_code[create TABLE a.t (a int)-0--] FAILED test/cli/commands_test.py::test__cli__command_fix_stdin_error_exit_code[create table a.t (a int)-0--] FAILED test/cli/commands_test.py::test__cli__command_fix_stdin_error_exit_code[select col from a join b using (c)-1--v-Unfixable violations detected.] FAILED test/cli/commands_test.py::test__cli__command__fix_check[LT01-test/fixtures/linter/indentation_errors.sql-y-0-0] FAILED test/cli/commands_test.py::test__cli__command__fix_check[LT01-test/fixtures/linter/indentation_errors.sql-n-1-1] FAILED test/cli/commands_test.py::test__cli__command_parse_serialize_from_stdin[None-yaml] FAILED test/cli/commands_test.py::test__cli__command_parse_serialize_from_stdin[None-json] FAILED test/cli/commands_test.py::test__cli__command_parse_serialize_from_stdin[outfile-yaml] FAILED test/cli/commands_test.py::test__cli__command_parse_serialize_from_stdin[outfile-json] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_from_stdin[select * from tbl-CP01-expected0-0-yaml] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_from_stdin[select * from tbl-CP01-expected0-0-json] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_from_stdin[select * from tbl-CP01-expected0-0-none] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_from_stdin[SElect * from tbl-CP01-expected1-1-yaml] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_from_stdin[SElect * from tbl-CP01-expected1-1-json] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_from_stdin[SElect * from tbl-CP01-expected1-1-none] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_from_stdin[SELECT {{1}}-JJ01-expected2-1-yaml] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_from_stdin[SELECT {{1}}-JJ01-expected2-1-json] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_from_stdin[SELECT {{1}}-JJ01-expected2-1-none] FAILED test/cli/commands_test.py::test__cli__command_fail_nice_not_found[command0] FAILED test/cli/commands_test.py::test__cli__command_fail_nice_not_found[command1] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_multiple_files[None-human] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_multiple_files[None-yaml] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_multiple_files[None-json] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_multiple_files[None-github-annotation] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_multiple_files[None-github-annotation-native] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_multiple_files[None-none] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_multiple_files[outfile-human] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_multiple_files[outfile-yaml] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_multiple_files[outfile-json] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_multiple_files[outfile-github-annotation] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_multiple_files[outfile-github-annotation-native] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_multiple_files[outfile-none] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_github_annotation FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_github_annotation_native[test/fixtures/linter/identifier_capitalisation.sql-::group::{filename}\n::error title=SQLFluff,file={filename},line=3,col=5,endLine=3,endColumn=8::RF02: Unqualified reference 'foo' found in select with more than one referenced table/view. [references.qualification]\n::error title=SQLFluff,file={filename},line=4,col=1,endLine=4,endColumn=5::LT02: Expected indent of 8 spaces. [layout.indent]\n::error title=SQLFluff,file={filename},line=4,col=5,endLine=4,endColumn=8::AL02: Implicit/explicit aliasing of columns. [aliasing.column]\n::error title=SQLFluff,file={filename},line=4,col=5,endLine=4,endColumn=8::CP02: Unquoted identifiers must be consistently lower case. [capitalisation.identifiers]\n::notice title=SQLFluff,file={filename},line=5,col=1,endLine=5,endColumn=5::CP01: Keywords must be consistently lower case. [capitalisation.keywords]\n::error title=SQLFluff,file={filename},line=5,col=12,end Line=5,endColumn=16::CP02: Unquoted identifiers must be consistently lower case. [capitalisation.identifiers]\n::error title=SQLFluff,file={filename},line=5,col=18,endLine=5,endColumn=22::CP02: Unquoted identifiers must be consistently lower case. [capitalisation.identifiers]\n::endgroup::\n] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_github_annotation_native[test/fixtures/linter/jinja_spacing.sql-::group::{filename}\n::error title=SQLFluff,file={filename},line=3,col=15,endLine=3,endColumn=22::JJ01: Jinja tags should have a single whitespace on either side: {{{{foo}}}} [jinja.padding]\n::endgroup::\n] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_annotation_level_error_failure_equivalent[github-annotation] FAILED test/cli/commands_test.py::test__cli__command_lint_serialize_annotation_level_error_failure_equivalent[github-annotation-native] FAILED test/cli/commands_test.py::test_encoding[utf-8-ascii] - TypeError: Cli... FAILED test/cli/commands_test.py::test_encoding[utf-8-sig-UTF-8-SIG] - TypeEr... FAILED test/cli/commands_test.py::test_encoding[utf-32-UTF-32] - TypeError: C... FAILED test/cli/commands_test.py::test_cli_encoding[utf-8-command-line-False] FAILED test/cli/commands_test.py::test_cli_encoding[utf-8-SIG-command-line-True] FAILED test/cli/commands_test.py::test_cli_encoding[utf-8-config-file-False] FAILED test/cli/commands_test.py::test_cli_encoding[utf-8-SIG-config-file-True] FAILED test/cli/commands_test.py::test_cli_no_disable_noqa_flag - TypeError: ... FAILED test/cli/commands_test.py::test_cli_disable_noqa_flag - TypeError: Cli... FAILED test/cli/commands_test.py::test_cli_disable_noqa_except_flag - TypeErr... FAILED test/cli/commands_test.py::test_cli_disable_noqa_except_non_rules_flag FAILED test/cli/commands_test.py::test_cli_warn_unused_noqa_flag - TypeError:... FAILED test/cli/commands_test.py::TestProgressBars::test_cli_lint_disabled_progress_bar FAILED test/cli/commands_test.py::TestProgressBars::test_cli_lint_enabled_progress_bar FAILED test/cli/commands_test.py::TestProgressBars::test_cli_lint_enabled_progress_bar_multiple_paths FAILED test/cli/commands_test.py::TestProgressBars::test_cli_lint_enabled_progress_bar_multiple_files FAILED test/cli/commands_test.py::test__cli__fix_multiple_errors_no_show_errors FAILED test/cli/commands_test.py::test__cli__fix_multiple_errors_quiet_force FAILED test/cli/commands_test.py::test__cli__fix_multiple_errors_quiet_check FAILED test/cli/commands_test.py::test__cli__fix_multiple_errors_show_errors FAILED test/cli/commands_test.py::test__cli__fix_show_parse_errors - TypeErro... FAILED test/cli/commands_test.py::test__cli__multiple_files__fix_multiple_errors_show_errors FAILED test/cli/commands_test.py::test__cli__render_fail - TypeError: CliRunn... FAILED test/cli/commands_test.py::test__cli__render_pass - TypeError: CliRunn... FAILED test/diff_quality_plugin_test.py::test_diff_quality_plugin[sql_paths0-expected_violations_lines0] FAILED test/diff_quality_plugin_test.py::test_diff_quality_plugin[sql_paths1-expected_violations_lines1] FAILED test/diff_quality_plugin_test.py::test_diff_quality_plugin[sql_paths2-expected_violations_lines2] FAILED test/diff_quality_plugin_test.py::test_diff_quality_plugin[sql_paths3-expected_violations_lines3] ==== 155 failed, 8365 passed, 1 skipped, 5 deselected in 656.45s (0:10:56) ===== E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest -k 'not appdir and not test__linter__path_from_paths__specific_bad_ext and not test__plugin_manager_registers_example_plugin and not test__plugin_example_rules_returned[Rule_Example_L001 and not test__plugin_default_config_read[Example_L001-forbidden_columns ' rm -fr -- /tmp/dh-xdg-rundir-ydHZ23zI dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 3.13" returned exit code 13 make: *** [debian/rules:13: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 -------------------------------------------------------------------------------- The above is just how the build ends and not necessarily the most relevant part. If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202502/ About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages. If you could not reproduce the bug please contact me privately, as I am willing to provide ssh access to a virtual machine where the bug is fully reproducible. If this is really a bug in one of the build-depends, please use reassign and add an affects on src:sqlfluff, so that this is still visible in the BTS web page for this package. Thanks.