aboutcode-org / aboutcode-org/pip-requirements-parser

Failures in test_requirements_file.py

Aberta
#22 0 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Python
Estrelas
20
Forks
13
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

Environment:
- Python 3.12.0rc1
- Fedora Rawhide
- pip-requirements-parser 32.0.1

It seems some error messages changed, which make the comparison fail for the following tests:

test_RequirementsFile_to_dict
test_RequirementsFile_dumps_unparse

```
=================================== FAILURES ===================================
_ test_RequirementsFile_to_dict[/builddir/build/BUILD/pip-requirements-parser-32.0.1/tests/requirements_parser_reqfiles/fail_1.txt] _

test_file = '/builddir/build/BUILD/pip-requirements-parser-32.0.1/tests/requirements_parser_reqfiles/fail_1.txt'
regen = False

@pytest.mark.parametrize("test_file", ALL_REQFILES)
def test_RequirementsFile_to_dict(
test_file: str,
regen=False,
) -> None:

expected_file = test_file + "-expected.json"
results = pip_requirements_parser.RequirementsFile.from_file(test_file).to_dict()
if regen:
with open (expected_file, 'w') as outp:
json.dump(results, outp, indent=2)
expected = results
else:
with open (expected_file) as inp:
expected = json.load(inp)

> assert results == expected
E AssertionError: assert {'comments': ...irements': []} == {'comments': ...irements': []}
E Omitting 3 identical items, use -vv to show
E Differing items:
E {'invalid_lines': [{'error_message': 'Invalid requirement: : Expected end or semicolon (after name and no valid versio...on (after name and no valid version specifier)\n test=>1.2.0\n ^', 'line': 'test=>1.2.0', 'line_number': 2}]} != {'invalid_lines': [{'error_message': 'Invalid requirement: : Expected version after operator\n test>>1.2.0\n ...on (after name and no valid version specifier)\n test=>1.2.0\n ^', 'line': 'test=>1.2.0', 'line_number': 2}]}
E Use -v to get more diff

tests/test_requirements_parser.py:74: AssertionError
_ test_RequirementsFile_to_dict[/builddir/build/BUILD/pip-requirements-parser-32.0.1/tests/pip_requirements_parser_tests/data/more-requirements/nikdoof-test-auth-requirements.txt] _

test_file = Path('/builddir/build/BUILD/pip-requirements-parser-32.0.1/tests/pip_requirements_parser_tests/data/more-requirements/nikdoof-test-auth-requirements.txt')
regen = False

@pytest.mark.parametrize("test_file", all_test_requirements_files)
def test_RequirementsFile_to_dict(
test_file: str,
regen=False,
) -> None:

expected_file = test_file + "-expected.json"
results = pip_requirements_parser.RequirementsFile.from_file(test_file).to_dict()
if regen:
with open (expected_file, 'w') as outp:
json.dump(results, outp, indent=2)
expected = results
else:
with open (expected_file) as inp:
expected = json.load(inp)

> assert results == expected
E AssertionError: assert {'comments': ...], ...}, ...]} == {'comments': ...], ...}, ...]}
E Omitting 3 identical items, use -vv to show
E Differing items:
E {'invalid_lines': [{'error_message': 'Invalid requirement: : Expected end or semicolon (after name and no valid version specifier)\n fabric==dev\n ^', 'line': 'fabric==dev', 'line_number': 4}]} != {'invalid_lines': [{'error_message': 'Invalid requirement: : Expected version after operator\n fabric==dev\n ^', 'line': 'fabric==dev', 'line_number': 4}]}
E Use -v to get more diff

tests/pip_requirements_parser_tests/test_requirements_file.py:38: AssertionError
_ test_RequirementsFile_to_dict[/builddir/build/BUILD/pip-requirements-parser-32.0.1/tests/pip_requirements_parser_tests/data/sc-requirements/invalid_spec-requirements.txt] _

test_file = Path('/builddir/build/BUILD/pip-requirements-parser-32.0.1/tests/pip_requirements_parser_tests/data/sc-requirements/invalid_spec-requirements.txt')
regen = False

@pytest.mark.parametrize("test_file", all_test_requirements_files)
def test_RequirementsFile_to_dict(
test_file: str,
regen=False,
) -> None:

expected_file = test_file + "-expected.json"
results = pip_requirements_parser.RequirementsFile.from_file(test_file).to_dict()
if regen:
with open (expected_file, 'w') as outp:
json.dump(results, outp, indent=2)
expected = results
else:
with open (expected_file) as inp:
expected = json.load(inp)

> assert results == expected
E AssertionError: assert {'comments': ...irements': []} == {'comments': ...irements': []}
E Omitting 3 identical items, use -vv to show
E Differing items:
E {'invalid_lines': [{'error_message': 'Invalid requirement: : Expected end or semicolon (after name and no valid versio...on (after name and no valid version specifier)\n test=>1.2.0\n ^', 'line': 'test=>1.2.0', 'line_number': 2}]} != {'invalid_lines': [{'error_message': 'Invalid requirement: : Expected version after operator\n test>>1.2.0\n ...on (after name and no valid version specifier)\n test=>1.2.0\n ^', 'line': 'test=>1.2.0', 'line_number': 2}]}
E Use -v to get more diff

tests/pip_requirements_parser_tests/test_requirements_file.py:38: AssertionError
_ test_RequirementsFile_dumps_unparse[/builddir/build/BUILD/pip-requirements-parser-32.0.1/tests/pip_requirements_parser_tests/data/more-requirements/nikdoof-test-auth-requirements.txt] _

test_file = Path('/builddir/build/BUILD/pip-requirements-parser-32.0.1/tests/pip_requirements_parser_tests/data/more-requirements/nikdoof-test-auth-requirements.txt')
regen = False

@pytest.mark.parametrize("test_file", all_test_requirements_files)
def test_RequirementsFile_dumps_unparse(
test_file: str,
regen=False,
) -> None:

dumped = pip_requirements_parser.RequirementsFile.from_file(test_file).dumps(
preserve_one_empty_line=True,
)

expected_file = test_file + "-expected.dumps"

if regen:
with open(expected_file, "w") as out:
out.write(dumped)
expected = dumped
else:
with open(expected_file) as inp:
expected = inp.read()

> assert dumped == expected
E AssertionError: assert 'xmlrpclib\nx...aven>=2.0.3\n' == 'xmlrpclib\nx...aven>=2.0.3\n'
E Skipping 51 identical leading characters in diff, use -v to show
E - Expected version after operator
E + Expected end or semicolon (after name and no valid version specifier)
E fabric==dev
E - ^
E ? --
E + ^...
E
E ...Full output truncated (18 lines hidden), use '-vv' to show

tests/pip_requirements_parser_tests/test_requirements_file.py:61: AssertionError
_ test_RequirementsFile_dumps_unparse[/builddir/build/BUILD/pip-requirements-parser-32.0.1/tests/pip_requirements_parser_tests/data/sc-requirements/invalid_spec-requirements.txt] _

test_file = Path('/builddir/build/BUILD/pip-requirements-parser-32.0.1/tests/pip_requirements_parser_tests/data/sc-requirements/invalid_spec-requirements.txt')
regen = False

@pytest.mark.parametrize("test_file", all_test_requirements_files)
def test_RequirementsFile_dumps_unparse(
test_file: str,
regen=False,
) -> None:

dumped = pip_requirements_parser.RequirementsFile.from_file(test_file).dumps(
preserve_one_empty_line=True,
)

expected_file = test_file + "-expected.dumps"

if regen:
with open(expected_file, "w") as out:
out.write(dumped)
expected = dumped
else:
with open(expected_file) as inp:
expected = inp.read()

> assert dumped == expected
E AssertionError: assert '# Invalid re...test=>1.2.0\n' == '# Invalid re...test=>1.2.0\n'
E - # Invalid requirement: : Expected version after operator
E + # Invalid requirement: : Expected end or semicolon (after name and no valid version specifier)
E test>>1.2.0
E - ^
E ? -
E + ^
E test>>1.2.0...
E
E ...Full output truncated (4 lines hidden), use '-vv' to show

tests/pip_requirements_parser_tests/test_requirements_file.py:61: AssertionError
=============================== warnings summary ===============================
tests/test_requirements_detector_parsing.py: 16 warnings
tests/pip_requirements_parser_tests/unit/test_utils_temp_dir.py: 18 warnings
/builddir/build/BUILD/pip-requirements-parser-32.0.1/tests/pip_requirements_parser_tests/unit/misc.py:43: DeprecationWarning: onerror argument is deprecated, use onexc instead
shutil.rmtree(directory, ignore_errors=ignore_errors, onerror=rmtree_errorhandler)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_requirements_parser.py::test_RequirementsFile_to_dict[/builddir/build/BUILD/pip-requirements-parser-32.0.1/tests/requirements_parser_reqfiles/fail_1.txt]
FAILED tests/pip_requirements_parser_tests/test_requirements_file.py::test_RequirementsFile_to_dict[/builddir/build/BUILD/pip-requirements-parser-32.0.1/tests/pip_requirements_parser_tests/data/more-requirements/nikdoof-test-auth-requirements.txt]
FAILED tests/pip_requirements_parser_tests/test_requirements_file.py::test_RequirementsFile_to_dict[/builddir/build/BUILD/pip-requirements-parser-32.0.1/tests/pip_requirements_parser_tests/data/sc-requirements/invalid_spec-requirements.txt]
FAILED tests/pip_requirements_parser_tests/test_requirements_file.py::test_RequirementsFile_dumps_unparse[/builddir/build/BUILD/pip-requirements-parser-32.0.1/tests/pip_requirements_parser_tests/data/more-requirements/nikdoof-test-auth-requirements.txt]
FAILED tests/pip_requirements_parser_tests/test_requirements_file.py::test_RequirementsFile_dumps_unparse[/builddir/build/BUILD/pip-requirements-parser-32.0.1/tests/pip_requirements_parser_tests/data/sc-requirements/invalid_spec-requirements.txt]
XFAIL tests/test_packaging_legacy_version.py::TestLegacyVersion::test_legacy_version_is_deprecated - We vendored packaging to reinstate LegacyVersion
====== 5 failed, 8265 passed, 5 skipped, 1 xfailed, 34 warnings in 11.69s ======
```

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.