Skip to content

Instantly share code, notes, and snippets.

@PerchunPak
Created March 15, 2024 18:08
Show Gist options
  • Save PerchunPak/4095a5e8032ec3417db12f5d2805cf6d to your computer and use it in GitHub Desktop.
Save PerchunPak/4095a5e8032ec3417db12f5d2805cf6d to your computer and use it in GitHub Desktop.
nix log /nix/store/05908nd888ss63axnky4xv17swjvq2jd-python3.12-pydocstyle-6.3.0.drv
Sourcing python-remove-tests-dir-hook
Sourcing python-catch-conflicts-hook.sh
Sourcing python-remove-bin-bytecode-hook.sh
Sourcing pypa-build-hook
Using pypaBuildPhase
Sourcing python-runtime-deps-check-hook
Using pythonRuntimeDepsCheckHook
Sourcing pypa-install-hook
Using pypaInstallPhase
Sourcing python-imports-check-hook.sh
Using pythonImportsCheckPhase
Sourcing python-namespaces-hook
Sourcing python-catch-conflicts-hook.sh
Sourcing pytest-check-hook
Using pytestCheckPhase
@nix { "action": "setPhase", "phase": "unpackPhase" }
Running phase: unpackPhase
unpacking source archive /nix/store/w4va0kbkn0hbs2zzikkgifzshfyqm5nn-source
source root is source
setting SOURCE_DATE_EPOCH to timestamp 315619200 of file source/tox.ini
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: patchPhase
substituteStream(): WARNING: '--replace' is deprecated, use --replace-{fail,warn,quiet}. (file 'pyproject.toml')
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: updateAutotoolsGnuConfigScriptsPhase
@nix { "action": "setPhase", "phase": "configurePhase" }
Running phase: configurePhase
no configure script, doing nothing
@nix { "action": "setPhase", "phase": "buildPhase" }
Running phase: buildPhase
Executing pypaBuildPhase
Creating a wheel...
* Getting build dependencies for wheel...
* Building wheel...
Successfully built pydocstyle-6.3.0-py3-none-any.whl
Finished creating a wheel...
Finished executing pypaBuildPhase
@nix { "action": "setPhase", "phase": "pythonRuntimeDepsCheckHook" }
Running phase: pythonRuntimeDepsCheckHook
Executing pythonRuntimeDepsCheck
Checking runtime dependencies for pydocstyle-6.3.0-py3-none-any.whl
Finished executing pythonRuntimeDepsCheck
@nix { "action": "setPhase", "phase": "installPhase" }
Running phase: installPhase
Executing pypaInstallPhase
Successfully installed pydocstyle-6.3.0-py3-none-any.whl
Finished executing pypaInstallPhase
@nix { "action": "setPhase", "phase": "pythonOutputDistPhase" }
Running phase: pythonOutputDistPhase
Executing pythonOutputDistPhase
Finished executing pythonOutputDistPhase
@nix { "action": "setPhase", "phase": "fixupPhase" }
Running phase: fixupPhase
shrinking RPATHs of ELF executables and libraries in /nix/store/4nb7qlbmfm4llhni1v1phr2drvpd4acs-python3.12-pydocstyle-6.3.0
checking for references to /build/ in /nix/store/4nb7qlbmfm4llhni1v1phr2drvpd4acs-python3.12-pydocstyle-6.3.0...
patching script interpreter paths in /nix/store/4nb7qlbmfm4llhni1v1phr2drvpd4acs-python3.12-pydocstyle-6.3.0
stripping (with command strip and flags -S -p) in /nix/store/4nb7qlbmfm4llhni1v1phr2drvpd4acs-python3.12-pydocstyle-6.3.0/lib /nix/store/4nb7qlbmfm4llhni1v1phr2drvpd4acs-python3.12-pydocstyle-6.3.0/bin
shrinking RPATHs of ELF executables and libraries in /nix/store/ld1b644jm77mf04gmyrqrjzy0j5x65nc-python3.12-pydocstyle-6.3.0-dist
checking for references to /build/ in /nix/store/ld1b644jm77mf04gmyrqrjzy0j5x65nc-python3.12-pydocstyle-6.3.0-dist...
patching script interpreter paths in /nix/store/ld1b644jm77mf04gmyrqrjzy0j5x65nc-python3.12-pydocstyle-6.3.0-dist
Rewriting #!/nix/store/dqsflsigjcxisziiynrxlbsm2y71m4bq-python3-3.12.2/bin/python3.12 to #!/nix/store/dqsflsigjcxisziiynrxlbsm2y71m4bq-python3-3.12.2
wrapping `/nix/store/4nb7qlbmfm4llhni1v1phr2drvpd4acs-python3.12-pydocstyle-6.3.0/bin/pydocstyle'...
Executing pythonRemoveTestsDir
Finished executing pythonRemoveTestsDir
@nix { "action": "setPhase", "phase": "installCheckPhase" }
Running phase: installCheckPhase
no Makefile or custom installCheckPhase, doing nothing
@nix { "action": "setPhase", "phase": "pythonCatchConflictsPhase" }
Running phase: pythonCatchConflictsPhase
@nix { "action": "setPhase", "phase": "pythonRemoveBinBytecodePhase" }
Running phase: pythonRemoveBinBytecodePhase
@nix { "action": "setPhase", "phase": "pythonImportsCheckPhase" }
Running phase: pythonImportsCheckPhase
Executing pythonImportsCheckPhase
@nix { "action": "setPhase", "phase": "pytestCheckPhase" }
Running phase: pytestCheckPhase
Executing pytestCheckPhase
============================= test session starts ==============================
platform linux -- Python 3.12.2, pytest-7.4.4, pluggy-1.4.0 -- /nix/store/dqsflsigjcxisziiynrxlbsm2y71m4bq-python3-3.12.2/bin/python3.12
cachedir: .pytest_cache
rootdir: /build/source
configfile: pyproject.toml
collected 108 items
src/tests/parser_test.py::test_function PASSED [ 0%]
src/tests/parser_test.py::test_simple_fstring FAILED [ 1%]
src/tests/parser_test.py::test_fstring_with_args FAILED [ 2%]
src/tests/parser_test.py::test_decorated_function PASSED [ 3%]
src/tests/parser_test.py::test_nested_function PASSED [ 4%]
src/tests/parser_test.py::test_conditional_nested_function PASSED [ 5%]
src/tests/parser_test.py::test_doubly_nested_function PASSED [ 6%]
src/tests/parser_test.py::test_class PASSED [ 7%]
src/tests/parser_test.py::test_public_method PASSED [ 8%]
src/tests/parser_test.py::test_private_method PASSED [ 9%]
src/tests/parser_test.py::test_magic_method PASSED [ 10%]
src/tests/parser_test.py::test_nested_class PASSED [ 11%]
src/tests/parser_test.py::test_raise_from PASSED [ 12%]
src/tests/parser_test.py::test_simple_matrix_multiplication PASSED [ 12%]
src/tests/parser_test.py::test_matrix_multiplication_with_decorators[code0] PASSED [ 13%]
src/tests/parser_test.py::test_matrix_multiplication_with_decorators[code1] PASSED [ 14%]
src/tests/parser_test.py::test_matrix_multiplication_with_decorators[code2] PASSED [ 15%]
src/tests/parser_test.py::test_module_publicity_with_public_path[public_path0] PASSED [ 16%]
src/tests/parser_test.py::test_module_publicity_with_public_path[public_path1] PASSED [ 17%]
src/tests/parser_test.py::test_module_publicity_with_public_path[public_path2] PASSED [ 18%]
src/tests/parser_test.py::test_module_publicity_with_public_path[public_path3] PASSED [ 19%]
src/tests/parser_test.py::test_module_publicity_with_public_path[public_path4] PASSED [ 20%]
src/tests/parser_test.py::test_module_publicity_with_public_path[public_path5] PASSED [ 21%]
src/tests/parser_test.py::test_module_publicity_with_private_paths[private_path0] PASSED [ 22%]
src/tests/parser_test.py::test_module_publicity_with_private_paths[private_path1] PASSED [ 23%]
src/tests/parser_test.py::test_module_publicity_with_private_paths[private_path2] PASSED [ 24%]
src/tests/parser_test.py::test_module_publicity_with_private_paths[private_path3] PASSED [ 25%]
src/tests/parser_test.py::test_module_publicity_with_private_paths[private_path4] PASSED [ 25%]
src/tests/parser_test.py::test_module_publicity_with_private_paths[private_path5] PASSED [ 26%]
src/tests/parser_test.py::test_module_publicity_with_private_paths[private_path6] PASSED [ 27%]
src/tests/parser_test.py::test_module_publicity_with_private_paths[private_path7] PASSED [ 28%]
src/tests/parser_test.py::test_module_publicity_with_different_sys_path[/-False] PASSED [ 29%]
src/tests/parser_test.py::test_module_publicity_with_different_sys_path[_foo/-True] PASSED [ 30%]
src/tests/parser_test.py::test_complex_module PASSED [ 31%]
src/tests/parser_test.py::test_dunder_all[code0] PASSED [ 32%]
src/tests/parser_test.py::test_dunder_all[code1] PASSED [ 33%]
src/tests/parser_test.py::test_dunder_all[code2] PASSED [ 34%]
src/tests/parser_test.py::test_dunder_all[code3] PASSED [ 35%]
src/tests/parser_test.py::test_dunder_all[code4] PASSED [ 36%]
src/tests/parser_test.py::test_dunder_all[code5] PASSED [ 37%]
src/tests/parser_test.py::test_dunder_all[code6] PASSED [ 37%]
src/tests/parser_test.py::test_dunder_all[code7] PASSED [ 38%]
src/tests/parser_test.py::test_dunder_all[code8] PASSED [ 39%]
src/tests/parser_test.py::test_dunder_all[code9] PASSED [ 40%]
src/tests/parser_test.py::test_dunder_all[code10] PASSED [ 41%]
src/tests/parser_test.py::test_single_value_dunder_all PASSED [ 42%]
src/tests/parser_test.py::test_indeterminable_dunder_all[code0] PASSED [ 43%]
src/tests/parser_test.py::test_indeterminable_dunder_all[code1] PASSED [ 44%]
src/tests/parser_test.py::test_indeterminable_dunder_all[code2] PASSED [ 45%]
src/tests/parser_test.py::test_indeterminable_dunder_all[code3] PASSED [ 46%]
src/tests/parser_test.py::test_indeterminable_dunder_all[code4] PASSED [ 47%]
src/tests/parser_test.py::test_indeterminable_dunder_all[code5] PASSED [ 48%]
src/tests/parser_test.py::test_indeterminable_dunder_all[code6] PASSED [ 49%]
src/tests/parser_test.py::test_future_import[code0] PASSED [ 50%]
src/tests/parser_test.py::test_future_import[code1] PASSED [ 50%]
src/tests/parser_test.py::test_future_import[code2] PASSED [ 51%]
src/tests/parser_test.py::test_future_import[code3] PASSED [ 52%]
src/tests/parser_test.py::test_future_import[code4] PASSED [ 53%]
src/tests/parser_test.py::test_future_import[code5] PASSED [ 54%]
src/tests/parser_test.py::test_future_import[code6] PASSED [ 55%]
src/tests/parser_test.py::test_noqa_function PASSED [ 56%]
src/tests/parser_test.py::test_invalid_syntax[code0] PASSED [ 57%]
src/tests/parser_test.py::test_invalid_syntax[code1] PASSED [ 58%]
src/tests/parser_test.py::test_invalid_syntax[code2] PASSED [ 59%]
src/tests/parser_test.py::test_parsing_function_decorators[code0] PASSED [ 60%]
src/tests/parser_test.py::test_parsing_function_decorators[code1] PASSED [ 61%]
src/tests/parser_test.py::test_parsing_function_decorators[code2] PASSED [ 62%]
src/tests/parser_test.py::test_parsing_function_decorators[code3] PASSED [ 62%]
src/tests/parser_test.py::test_parsing_function_decorators[code4] PASSED [ 63%]
src/tests/parser_test.py::test_parsing_function_decorators[code5] PASSED [ 64%]
src/tests/parser_test.py::test_parsing_function_decorators[code6] PASSED [ 65%]
src/tests/parser_test.py::test_parsing_method_decorators[code0] PASSED [ 66%]
src/tests/parser_test.py::test_parsing_method_decorators[code1] PASSED [ 67%]
src/tests/parser_test.py::test_parsing_method_decorators[code2] PASSED [ 68%]
src/tests/parser_test.py::test_parsing_method_decorators[code3] PASSED [ 69%]
src/tests/parser_test.py::test_parsing_method_decorators[code4] PASSED [ 70%]
src/tests/test_decorators.py::TestParser::test_parse_class_single_decorator PASSED [ 71%]
src/tests/test_decorators.py::TestParser::test_parse_class_decorators PASSED [ 72%]
src/tests/test_decorators.py::TestParser::test_parse_class_nested_decorator PASSED [ 73%]
src/tests/test_decorators.py::TestParser::test_parse_method_single_decorator PASSED [ 74%]
src/tests/test_decorators.py::TestParser::test_parse_method_decorators PASSED [ 75%]
src/tests/test_decorators.py::TestParser::test_parse_function_decorator PASSED [ 75%]
src/tests/test_decorators.py::TestParser::test_parse_async_function_decorator PASSED [ 76%]
src/tests/test_decorators.py::TestParser::test_parse_method_nested_decorator PASSED [ 77%]
src/tests/test_decorators.py::TestMethod::test_is_public_normal PASSED [ 78%]
src/tests/test_decorators.py::TestMethod::test_is_public_setter PASSED [ 79%]
src/tests/test_decorators.py::TestMethod::test_is_public_deleter PASSED [ 80%]
src/tests/test_decorators.py::TestMethod::test_is_public_trick PASSED [ 81%]
src/tests/test_definitions.py::test_complex_file[test] PASSED [ 82%]
src/tests/test_definitions.py::test_complex_file[unicode_literals] PASSED [ 83%]
src/tests/test_definitions.py::test_complex_file[nested_class] PASSED [ 84%]
src/tests/test_definitions.py::test_complex_file[capitalization] PASSED [ 85%]
src/tests/test_definitions.py::test_complex_file[comment_after_def_bug] PASSED [ 86%]
src/tests/test_definitions.py::test_complex_file[multi_line_summary_start] PASSED [ 87%]
src/tests/test_definitions.py::test_complex_file[all_import] PASSED [ 87%]
src/tests/test_definitions.py::test_complex_file[all_import_as] PASSED [ 88%]
src/tests/test_definitions.py::test_complex_file[superfluous_quotes] PASSED [ 89%]
src/tests/test_definitions.py::test_complex_file[noqa] PASSED [ 90%]
src/tests/test_definitions.py::test_complex_file[sections] PASSED [ 91%]
src/tests/test_definitions.py::test_complex_file[functions] PASSED [ 92%]
src/tests/test_definitions.py::test_complex_file[canonical_google_examples] PASSED [ 93%]
src/tests/test_definitions.py::test_complex_file[canonical_numpy_examples] PASSED [ 94%]
src/tests/test_definitions.py::test_complex_file[canonical_pep257_examples] PASSED [ 95%]
src/tests/test_utils.py::test_common_prefix PASSED [ 96%]
src/tests/test_utils.py::test_no_common_prefix PASSED [ 97%]
src/tests/test_utils.py::test_differ_length PASSED [ 98%]
src/tests/test_utils.py::test_empty_string PASSED [ 99%]
src/tests/test_utils.py::test_strip_non_alphanumeric PASSED [100%]
=================================== FAILURES ===================================
_____________________________ test_simple_fstring ______________________________
def test_simple_fstring():
"""Test parsing of a function with a simple fstring as a docstring."""
parser = Parser()
code = CodeSnippet("""\
def do_something(pos_param0, pos_param1, kw_param0="default"):
f\"""Do something.\"""
return None
""")
module = parser.parse(code, 'file_path')
assert module.is_public
assert module.dunder_all is None
function, = module.children
assert function.name == 'do_something'
assert function.decorators == []
assert function.children == []
> assert function.docstring == 'f"""Do something."""'
E assert None == 'f"""Do something."""'
E + where None = Function(name='do_something', _source=['def do_something(pos_param0, pos_param1, kw_param0="default"):\n', ' f"""Do something."""\n', ' return None\n'], start=1, end=3, decorators=[], docstring=None, children=[], callable_args=['pos_param0', 'pos_param1', 'kw_param0'], parent=Module(name='file_path', _source=['def do_something(pos_param0, pos_param1, kw_param0="default"):\n', ' f"""Do something."""\n', ' return None\n'], start=1, end=4, decorators=[], docstring=None, children=[Function(name='do_something', _source=['def do_something(pos_param0, pos_param1, kw_param0="default"):\n', ' f"""Do something."""\n', ' return None\n'], start=1, end=3, decorators=[], docstring=None, children=[], callable_args=['pos_param0', 'pos_param1', 'kw_param0'], parent=Module(name='file_path', _source=['def do_something(pos_param0, pos_param1, kw_param0="default"):\n', ' f"""Do something."""\n', ' return None\n'], start=1, end=4, decorators=[], docstring=None, children=[...], parent=None, _dunder_all=None, dunder_all_error=None, future_imports=set(), skipped_error_codes=''), skipped_error_codes='')], parent=None, _dunder_all=None, dunder_all_error=None, future_imports=set(), skipped_error_codes=''), skipped_error_codes='').docstring
src/tests/parser_test.py:69: AssertionError
____________________________ test_fstring_with_args ____________________________
def test_fstring_with_args():
"""Test parsing of a function with an fstring with args as a docstring."""
parser = Parser()
code = CodeSnippet("""\
foo = "bar"
bar = "baz"
def do_something(pos_param0, pos_param1, kw_param0="default"):
f\"""Do some {foo} and some {bar}.\"""
return None
""")
module = parser.parse(code, 'file_path')
assert module.is_public
assert module.dunder_all is None
function, = module.children
assert function.name == 'do_something'
assert function.decorators == []
assert function.children == []
> assert function.docstring == 'f"""Do some {foo} and some {bar}."""'
E assert None == 'f"""Do some {foo} and some {bar}."""'
E + where None = Function(name='do_something', _source=['foo = "bar"\n', 'bar = "baz"\n', 'def do_something(pos_param0, pos_param1, kw_param0="default"):\n', ' f"""Do some {foo} and some {bar}."""\n', ' return None\n'], start=3, end=5, decorators=[], docstring=None, children=[], callable_args=['pos_param0', 'pos_param1', 'kw_param0'], parent=Module(name='file_path', _source=['foo = "bar"\n', 'bar = "baz"\n', 'def do_something(pos_param0, pos_param1, kw_param0="default"):\n', ' f"""Do some {foo} and some {bar}."""\n', ' return None\n'], start=1, end=6, decorators=[], docstring=None, children=[Function(name='do_something', _source=['foo = "bar"\n', 'bar = "baz"\n', 'def do_something(pos_param0, pos_param1, kw_param0="default"):\n', ' f"""Do some {foo} and some {bar}."""\n', ' return None\n'], start=3, end=5, decorators=[], docstring=None, children=[], callable_args=['pos_param0', 'pos_param1', 'kw_param0'], parent=Module(name='file_path', _source=['foo = "bar"\n', 'bar = "baz"\n', 'def do_something(pos_param0, pos_param1, kw_param0="default"):\n', ' f"""Do some {foo} and some {bar}."""\n', ' return None\n'], start=1, end=6, decorators=[], docstring=None, children=[...], parent=None, _dunder_all=None, dunder_all_error=None, future_imports=set(), skipped_error_codes=''), skipped_error_codes='')], parent=None, _dunder_all=None, dunder_all_error=None, future_imports=set(), skipped_error_codes=''), skipped_error_codes='').docstring
src/tests/parser_test.py:100: AssertionError
======================== 2 failed, 106 passed in 0.42s =========================
/nix/store/v099hqvw5z87423p4hz1vfhzaqa07dii-stdenv-linux/setup: line 1578: pop_var_context: head of shell_variables not a function context
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment