==> Building on glalie ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list ./ .SRCINFO 835 100% 0.00kB/s 0:00:00 835 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=3/5) .nvchecker.toml 66 100% 64.45kB/s 0:00:00 66 100% 64.45kB/s 0:00:00 (xfr#2, to-chk=2/5) PKGBUILD 1,476 100% 1.41MB/s 0:00:00 1,476 100% 1.41MB/s 0:00:00 (xfr#3, to-chk=1/5) python-pytest-examples-0.0.15-1.log 452 100% 441.41kB/s 0:00:00 452 100% 441.41kB/s 0:00:00 (xfr#4, to-chk=0/5) sent 1,818 bytes received 131 bytes 3,898.00 bytes/sec total size is 2,570 speedup is 1.32 ==> Running pkgctl build --arch riscv64 --repo extra on remote host... ==> WARNING: unsupported architecture: riscv64 ==> Building python-pytest-examples  -> repo: extra  -> arch: riscv64  -> worker: felix-6 ==> Building python-pytest-examples for [extra] (riscv64) ]2;馃數 Container arch-nspawn-1555001 on glalie.felixc.at[?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-6]...done ==> Making package: python-pytest-examples 0.0.15-1 (Mon Dec 30 04:01:00 2024) ==> Retrieving sources...  -> Downloading pytest-examples-0.0.15.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 100 45070 0 45070 0 0 31747 0 --:--:-- 0:00:01 --:--:-- 31747 ==> Validating source files with sha512sums... pytest-examples-0.0.15.tar.gz ... Passed ==> Validating source files with b2sums... pytest-examples-0.0.15.tar.gz ... Passed ]2;馃數 Container arch-nspawn-1557971 on glalie.felixc.at==> Making package: python-pytest-examples 0.0.15-1 (Mon Dec 30 04:01:25 2024) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (13) New Version Net Change Download Size extra/mpdecimal 4.0.0-2 0.29 MiB extra/python-click 8.1.7-4 1.18 MiB 0.21 MiB extra/python-iniconfig 2.0.0-6 0.04 MiB extra/python-mypy_extensions 1.0.0-5 0.03 MiB 0.01 MiB extra/python-packaging 24.2-3 0.66 MiB extra/python-pathspec 0.12.1-3 0.23 MiB 0.05 MiB extra/python-platformdirs 4.3.6-2 0.24 MiB extra/python-pluggy 1.5.0-3 0.20 MiB extra/ruff 0.8.4-2 22.85 MiB 6.48 MiB core/python 3.13.1-1 108.57 MiB extra/python-black 24.10.0-3 1.97 MiB 0.39 MiB extra/python-pytest 1:8.3.4-1 3.92 MiB extra/python-ruff 0.8.4-2 0.19 MiB 0.02 MiB Total Download Size: 7.15 MiB Total Installed Size: 140.37 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... ruff-0.8.4-2-riscv64 downloading... python-black-24.10.0-3-any downloading... python-click-8.1.7-4-any downloading... python-pathspec-0.12.1-3-any downloading... python-ruff-0.8.4-2-riscv64 downloading... python-mypy_extensions-1.0.0-5-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing mpdecimal... installing python... Optional dependencies for python python-setuptools: for building Python packages using tooling that is usually bundled with Python python-pip: for installing Python packages using tooling that is usually bundled with Python python-pipx: for installing Python software not packaged on Arch Linux sqlite: for a default database integration [installed] xz: for lzma [installed] tk: for tkinter installing python-click... installing python-mypy_extensions... installing python-packaging... installing python-pathspec... installing python-platformdirs... installing python-black... Optional dependencies for python-black ipython: for Jupyter notebook support python-tokenize-rt: for Jupyter notebook support python-aiohttp: for the blackd HTTP server python-colorama: for colored diffs installing python-iniconfig... installing python-pluggy... installing python-pytest... installing ruff... installing python-ruff... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (6) New Version Net Change Download Size extra/python-editables 0.5-5 0.03 MiB 0.01 MiB extra/python-pyproject-hooks 1.2.0-3 0.10 MiB extra/python-trove-classifiers 2024.10.21.16-3 0.12 MiB 0.02 MiB extra/python-build 1.2.2-3 0.20 MiB extra/python-hatchling 1.25.0-2 1.07 MiB 0.17 MiB extra/python-installer 0.7.0-10 0.17 MiB Total Download Size: 0.20 MiB Total Installed Size: 1.69 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-hatchling-1.25.0-2-any downloading... python-trove-classifiers-2024.10.21.16-3-any downloading... python-editables-0.5-5-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... 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-editables... installing python-trove-classifiers... installing python-hatchling... installing python-installer... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h==> Retrieving sources...  -> Found pytest-examples-0.0.15.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Extracting pytest-examples-0.0.15.tar.gz with bsdtar ==> Starting build()... * Getting build dependencies for wheel... * Building wheel... Successfully built pytest_examples-0.0.15-py3-none-any.whl ==> Starting check()... ============================= test session starts ============================== platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python cachedir: .pytest_cache rootdir: /build/python-pytest-examples/src/pytest-examples-0.0.15 configfile: pyproject.toml testpaths: tests, example plugins: examples-0.0.15 collecting ... collected 80 items tests/test_find_examples.py::test_find_md_example PASSED [ 1%] tests/test_find_examples.py::test_find_py_example PASSED [ 2%] tests/test_find_examples.py::test_find_py_example_with_module_docstring PASSED [ 3%] tests/test_find_examples.py::test_find_file_example PASSED [ 5%] tests/test_find_examples.py::test_find_missing PASSED [ 6%] tests/test_find_examples.py::test_find_index_markdown PASSED [ 7%] tests/test_find_examples.py::test_find_index_python PASSED [ 8%] tests/test_find_examples.py::test_prefix_settings[py test="skip"-prefix_settings0] PASSED [ 10%] tests/test_find_examples.py::test_prefix_settings[py test="skip" foo="B ar"-prefix_settings1] PASSED [ 11%] tests/test_find_examples.py::test_prefix_settings[py test='require-3.8'-prefix_settings2] PASSED [ 12%] tests/test_find_examples.py::test_prefix_tags[{.py .foobar}-prefix_tags0] PASSED [ 13%] tests/test_find_examples.py::test_prefix_tags[{.py 'foo bar'-prefix_tags1] PASSED [ 15%] tests/test_find_examples.py::test_prefix_tags[py mytag-prefix_tags2] PASSED [ 16%] tests/test_find_examples.py::test_prefix_tags[py test="skip" foo="B ar"-prefix_tags3] PASSED [ 17%] tests/test_insert_print.py::test_find_end_of_print[simple case] PASSED [ 18%] tests/test_insert_print.py::test_find_end_of_print[content after print output] PASSED [ 20%] tests/test_insert_print.py::test_find_end_of_print[single-line-indent] PASSED [ 21%] tests/test_insert_print.py::test_find_end_of_print[print-over-lines] PASSED [ 22%] tests/test_insert_print.py::test_find_end_of_print[multiline-comprehension] PASSED [ 23%] tests/test_insert_print.py::test_find_end_of_print[ill-formed-print-1] PASSED [ 25%] tests/test_insert_print.py::test_find_end_of_print[ill-formed-print-2] PASSED [ 26%] tests/test_insert_print.py::test_find_end_of_print[try-except] PASSED [ 27%] tests/test_insert_print.py::test_find_end_of_print[call-attribute] PASSED [ 28%] tests/test_insert_print.py::test_find_end_of_print[class-method] PASSED [ 30%] tests/test_insert_print.py::test_find_end_of_print[async-function] PASSED [ 31%] tests/test_insert_print.py::test_insert_print_check_unchanged[simple case] PASSED [ 32%] tests/test_insert_print.py::test_insert_print_check_unchanged[content after print output] PASSED [ 33%] tests/test_insert_print.py::test_insert_print_check_unchanged[multiline] PASSED [ 35%] tests/test_insert_print.py::test_insert_print_check_unchanged[single-line-indent] PASSED [ 36%] tests/test_insert_print.py::test_insert_print_check_unchanged[multi-line-indent] PASSED [ 37%] tests/test_insert_print.py::test_insert_print_check_unchanged[print-over-lines] PASSED [ 38%] tests/test_insert_print.py::test_insert_print_check_unchanged[multiline-comprehension] PASSED [ 40%] tests/test_insert_print.py::test_insert_print_check_unchanged[ill-formed-print-1] PASSED [ 41%] tests/test_insert_print.py::test_insert_print_check_unchanged[ill-formed-print-2] PASSED [ 42%] tests/test_insert_print.py::test_insert_print_check_unchanged[big-indent] PASSED [ 43%] tests/test_insert_print.py::test_insert_print_check_unchanged[not-python-code] PASSED [ 45%] tests/test_insert_print.py::test_insert_print_check_unchanged[non-python-repr0] PASSED [ 46%] tests/test_insert_print.py::test_insert_print_check_unchanged[non-python-repr1] PASSED [ 47%] tests/test_insert_print.py::test_insert_print_check_unchanged[print-in-except] PASSED [ 48%] tests/test_insert_print.py::test_insert_print_check_unchanged[set-order] PASSED [ 50%] tests/test_insert_print.py::test_insert_print_check_unchanged[hex_id] PASSED [ 51%] tests/test_insert_print.py::test_insert_print_check_unchanged[look] PASSED [ 52%] tests/test_insert_print.py::test_insert_print_check_unchanged[trailing-spaces] PASSED [ 53%] tests/test_insert_print.py::test_insert_print_check_change PASSED [ 55%] tests/test_insert_print.py::test_run_main PASSED [ 56%] tests/test_insert_print.py::test_run_main_print PASSED [ 57%] tests/test_insert_print.py::test_run_main_print_async PASSED [ 58%] tests/test_lint.py::test_ruff PASSED [ 60%] tests/test_lint.py::test_ruff_config PASSED [ 61%] tests/test_lint.py::test_ruff_offset PASSED [ 62%] tests/test_lint.py::test_black_line_length PASSED [ 63%] tests/test_run_examples.py::test_run_example_ok_fail PASSED [ 65%] tests/test_run_examples.py::test_ruff_ok PASSED [ 66%] tests/test_run_examples.py::test_ruff_error PASSED [ 67%] tests/test_run_examples.py::test_black_ok PASSED [ 68%] tests/test_run_examples.py::test_black_error FAILED [ 70%] tests/test_run_examples.py::test_black_error_dot_space FAILED [ 71%] tests/test_run_examples.py::test_black_error_multiline FAILED [ 72%] tests/test_run_examples.py::test_run_directly PASSED [ 73%] tests/test_run_examples.py::test_print_sub PASSED [ 75%] tests/test_run_examples.py::test_print_check_spaces PASSED [ 76%] tests/test_update.py::test_update_files PASSED [ 77%] tests/test_update.py::test_update_repeat_example PASSED [ 78%] tests/test_update.py::test_update_repeat_file PASSED [ 80%] tests/test_update_examples_dir.py::test_cases_update[simple.md] PASSED [ 81%] tests/test_update_examples_dir.py::test_cases_update[dataclass_indent.md] PASSED [ 82%] tests/test_update_examples_dir.py::test_cases_update[simple.py] PASSED [ 83%] tests/test_update_examples_dir.py::test_cases_update[call_twice.md] PASSED [ 85%] tests/test_update_examples_dir.py::test_cases_update[python_class.py] PASSED [ 86%] tests/test_update_examples_dir.py::test_cases_update[use_globals.md] PASSED [ 87%] tests/test_update_examples_dir.py::test_cases_update[long_python_lines.py] PASSED [ 88%] example/test_example.py::test_will_error[example/error.md:3-20] XFAIL [ 90%] example/test_example.py::test_insert_print[example/README.md:3-33] PASSED [ 91%] example/test_example.py::test_insert_print[example/README.md:37-40] PASSED [ 92%] example/test_example.py::test_insert_print[example/README.md:44-47] PASSED [ 93%] example/test_example.py::test_insert_print[example/README.md:49-66] PASSED [ 95%] example/test_example.py::test_python_self[example/test_example.py:28-31] PASSED [ 96%] example/test_example.py::test_python_self[example/test_example.py:40-43] PASSED [ 97%] example/test_example.py::test_python_self_change_docstyle[example/test_example.py:28-31] PASSED [ 98%] example/test_example.py::test_python_self_change_docstyle[example/test_example.py:40-43] PASSED [100%] =================================== FAILURES =================================== _______________________________ test_black_error _______________________________ pytester = def test_black_error(pytester: pytest.Pytester): pytester.makefile( '.md', my_file='line 1\nline 2\n```py\nx =[1,2, 3]\n```', ) # language=Python pytester.makepyfile( """ from pytest_examples import find_examples, CodeExample, EvalExample import pytest @pytest.mark.parametrize('example', find_examples('.'), ids=str) def test_find_run_examples(example: CodeExample, eval_example: EvalExample): eval_example.lint_black(example) """ ) result = pytester.runpytest('-p', 'no:pretty', '-v') result.assert_outcomes(failed=1) failures_start = next(index for index, line in enumerate(result.outlines) if 'FAILURES' in line) failures_end = next(index for index, line in enumerate(result.outlines) if 'short test summary' in line) e_lines = [line.strip() for line in result.outlines[failures_start + 2 : failures_end]] > assert e_lines == [ 'black failed:', '--- before', '+++ after', '@@ -4 +4 @@', '-x =[1,2, 3]', '+x = [1, 2, 3]', ] E AssertionError: assert ['black failed:', '--- before', '+++ after', '@@ -4 +4 @@', '-x =[1,2, 3]', '+x = [1, 2, 3]', ''] == ['black failed:', '--- before', '+++ after', '@@ -4 +4 @@', '-x =[1,2, 3]', '+x = [1, 2, 3]'] E E Left contains one more item: '' E E Full diff: E [ E 'black failed:', E '--- before', E '+++ after', E '@@ -4 +4 @@', E '-x =[1,2, 3]', E '+x = [1, 2, 3]', E + '', E ] /build/python-pytest-examples/src/pytest-examples-0.0.15/tests/test_run_examples.py:167: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python cachedir: .pytest_cache rootdir: /tmp/pytest-of-builduser/pytest-0/test_black_error0 plugins: examples-0.0.15 collecting ... collected 1 item test_black_error.py::test_find_run_examples[my_file.md:3-5] FAILED [100%] =================================== FAILURES =================================== ____________________ test_find_run_examples[my_file.md:3-5] ____________________ black failed: --- before +++ after @@ -4 +4 @@ -x =[1,2, 3] +x = [1, 2, 3] =========================== short test summary info ============================ FAILED test_black_error.py::test_find_run_examples[my_file.md:3-5] - Failed: ... ============================== 1 failed in 0.12s =============================== __________________________ test_black_error_dot_space __________________________ pytester = def test_black_error_dot_space(pytester: pytest.Pytester): pytester.makefile( '.md', my_file='line 1\nline 2\n```py\nx =[1,2, 3]\n```', ) # language=Python pytester.makepyfile( """ from pytest_examples import find_examples, CodeExample, EvalExample import pytest @pytest.mark.parametrize('example', find_examples('.'), ids=str) def test_find_run_examples(example: CodeExample, eval_example: EvalExample): eval_example.config.white_space_dot = True eval_example.lint_black(example) """ ) result = pytester.runpytest('-p', 'no:pretty', '-v') result.assert_outcomes(failed=1) failures_start = next(index for index, line in enumerate(result.outlines) if 'FAILURES' in line) failures_end = next(index for index, line in enumerate(result.outlines) if 'short test summary' in line) e_lines = [line.strip() for line in result.outlines[failures_start + 2 : failures_end]] > assert e_lines == [ 'black failed:', '--- before', '+++ after', '@@ -4 +4 @@', '-x路=[1,2,路3]', '+x路=路[1,路2,路3]', ] E AssertionError: assert ['black failed:', '--- before', '+++ after', '@@ -4 +4 @@', '-x路=[1,2,路3]', '+x路=路[1,路2,路3]', ''] == ['black failed:', '--- before', '+++ after', '@@ -4 +4 @@', '-x路=[1,2,路3]', '+x路=路[1,路2,路3]'] E E Left contains one more item: '' E E Full diff: E [ E 'black failed:', E '--- before', E '+++ after', E '@@ -4 +4 @@', E '-x路=[1,2,路3]', E '+x路=路[1,路2,路3]', E + '', E ] /build/python-pytest-examples/src/pytest-examples-0.0.15/tests/test_run_examples.py:201: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python cachedir: .pytest_cache rootdir: /tmp/pytest-of-builduser/pytest-0/test_black_error_dot_space0 plugins: examples-0.0.15 collecting ... collected 1 item test_black_error_dot_space.py::test_find_run_examples[my_file.md:3-5] FAILED [100%] =================================== FAILURES =================================== ____________________ test_find_run_examples[my_file.md:3-5] ____________________ black failed: --- before +++ after @@ -4 +4 @@ -x路=[1,2,路3] +x路=路[1,路2,路3] =========================== short test summary info ============================ FAILED test_black_error_dot_space.py::test_find_run_examples[my_file.md:3-5] ============================== 1 failed in 0.12s =============================== __________________________ test_black_error_multiline __________________________ pytester = def test_black_error_multiline(pytester: pytest.Pytester): pytester.makefile( '.md', my_file=""" line 1 line 2 ```py x =[ 1, 2, 3 ] ```""", ) # language=Python pytester.makepyfile( """ from pytest_examples import find_examples, CodeExample, EvalExample import pytest @pytest.mark.parametrize('example', find_examples('.'), ids=str) def test_find_run_examples(example: CodeExample, eval_example: EvalExample): eval_example.lint_black(example) """ ) result = pytester.runpytest('-p', 'no:pretty', '-v') result.assert_outcomes(failed=1) failures_start = next(index for index, line in enumerate(result.outlines) if 'FAILURES' in line) failures_end = next(index for index, line in enumerate(result.outlines) if 'short test summary' in line) e_lines = [line.strip() for line in result.outlines[failures_start + 2 : failures_end]] > assert e_lines == [ 'black failed:', '--- before', '+++ after', '@@ -4,8 +4 @@', '-x =[', '- 1,', '- 2,', '- 3', '-]', '+x = [1, 2, 3]', ] E AssertionError: assert ['black failed:', '--- before', '+++ after', '@@ -4,8 +4 @@', '-x =[', '- 1,', '- 2,', '- 3', '-]', '+x = [1, 2, 3]', ''] == ['black failed:', '--- before', '+++ after', '@@ -4,8 +4 @@', '-x =[', '- 1,', '- 2,', '- 3', '-]', '+x = [1, 2, 3]'] E E Left contains one more item: '' E E Full diff: E [ E 'black failed:', E '--- before', E '+++ after', E '@@ -4,8 +4 @@', E '-x =[', E '- 1,', E '- 2,', E '- 3', E '-]', E '+x = [1, 2, 3]', E + '', E ] /build/python-pytest-examples/src/pytest-examples-0.0.15/tests/test_run_examples.py:243: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python cachedir: .pytest_cache rootdir: /tmp/pytest-of-builduser/pytest-0/test_black_error_multiline0 plugins: examples-0.0.15 collecting ... collected 1 item test_black_error_multiline.py::test_find_run_examples[my_file.md:3-9] FAILED [100%] =================================== FAILURES =================================== ____________________ test_find_run_examples[my_file.md:3-9] ____________________ black failed: --- before +++ after @@ -4,8 +4 @@ -x =[ - 1, - 2, - 3 -] +x = [1, 2, 3] =========================== short test summary info ============================ FAILED test_black_error_multiline.py::test_find_run_examples[my_file.md:3-9] ============================== 1 failed in 0.12s =============================== =========================== short test summary info ============================ FAILED tests/test_run_examples.py::test_black_error - AssertionError: assert ['black failed:', '--- before', '+++ after', '@@ -4 +4 @@', '-x =[1,2, 3]', '+x = [1, 2, 3]', ''] == ['black failed:', '--- before', '+++ after', '@@ -4 +4 @@', '-x =[1,2, 3]', '+x = [1, 2, 3]'] Left contains one more item: '' Full diff: [ 'black failed:', '--- before', '+++ after', '@@ -4 +4 @@', '-x =[1,2, 3]', '+x = [1, 2, 3]', + '', ] FAILED tests/test_run_examples.py::test_black_error_dot_space - AssertionError: assert ['black failed:', '--- before', '+++ after', '@@ -4 +4 @@', '-x路=[1,2,路3]', '+x路=路[1,路2,路3]', ''] == ['black failed:', '--- before', '+++ after', '@@ -4 +4 @@', '-x路=[1,2,路3]', '+x路=路[1,路2,路3]'] Left contains one more item: '' Full diff: [ 'black failed:', '--- before', '+++ after', '@@ -4 +4 @@', '-x路=[1,2,路3]', '+x路=路[1,路2,路3]', + '', ] FAILED tests/test_run_examples.py::test_black_error_multiline - AssertionError: assert ['black failed:', '--- before', '+++ after', '@@ -4,8 +4 @@', '-x =[', '- 1,', '- 2,', '- 3', '-]', '+x = [1, 2, 3]', ''] == ['black failed:', '--- before', '+++ after', '@@ -4,8 +4 @@', '-x =[', '- 1,', '- 2,', '- 3', '-]', '+x = [1, 2, 3]'] Left contains one more item: '' Full diff: [ 'black failed:', '--- before', '+++ after', '@@ -4,8 +4 @@', '-x =[', '- 1,', '- 2,', '- 3', '-]', '+x = [1, 2, 3]', + '', ] =================== 3 failed, 76 passed, 1 xfailed in 23.71s =================== ==> ERROR: A failure occurred in check().  Aborting... ==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix-6/build [?25h[?25h[?25hreceiving incremental file list python-pytest-examples-0.0.15-1-riscv64-build.log python-pytest-examples-0.0.15-1-riscv64-check.log sent 62 bytes received 2,886 bytes 1,965.33 bytes/sec total size is 18,662 speedup is 6.33