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

Failures in test_requirements_file.py

Đang mở
#22 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Python
Star
20
Fork
13
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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 ======
```

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.