aboutcode-org / aboutcode-org/scancode-toolkit

test_license_reference_to_file_beside_package_manifest test is broken

Abierto
#4,540 0 comentarios 0 reacciones 0 asignados Ver en GitHub
bug
Lenguaje dominante
Python
Estrellas
2.6k
Forks
791
Merge medio
1 d 12 h
PR fusionados (30 d)
5

Descripción

### Description

> Please leave a brief description of the bug or feature request:

`test_license_reference_to_file_beside_package_manifest` in `tests/packagedcode/test_license_detection.py` is broken with importlib_metadata versions newer than the two-year-old version that scancode pins for some reason. This breakage is due to changes made in https://github.com/python/importlib_metadata/pull/437 (in particular, "Distribution.files: Only return files that actually exist"). This affects Fedora's package build that does not use old pinned dependencies. The test data in `tests/packagedcode/data/license_detection/reference-to-license-beside-manifest/beartype-0.17.2` has a `beartype-0.17.2.dist-info/RECORD` file that references files that don't actually exist in the `beartype` package in the test data. This causes the following error.

```
E file_references:
E - path: beartype/__init__.py
E size: 9331
E sha1:
E md5:
E sha256: 20ec758584c77bdbf3d2eae4e22208c85ed6e686c91d6d2be572e00f4f10885f
E - sha512:
E - extra_data: {}
E - - path: beartype/meta.py
E - size: 32328
E - sha1:
E - md5:
E - sha256: b60a4c1f3177e1fa8bb244d0ba0f2fba9ab02df1dcaf82ca4ac0ba5814cf91ac
E - sha512:
E - extra_data: {}
E - - path: beartype/py.typed
E - size: '0'
E - sha1:
E - md5:
E - sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
E sha512:
E extra_data: {}
```

The correct solution would be to either:

- fix the RECORD file so that it reflects files that actually exist in the test data and remove the invalid lines;
- or to add the missing files to the test data

@AyanSinhaMahapatra, I think you added this test in https://github.com/aboutcode-org/scancode-toolkit/commit/127bd49256b80cfa9133c0a55dd2f950f2b5eb1d#diff-e59874106002ae427d750a17669f76761bfcaf794d4911b1794563ecf85f569f. Do you have a preferred way forward?

### How To Reproduce

> Tell us how to reproduce the issue.

pytest -k test_license_reference_to_file_beside_package_manifest tests/packagedcode/test_license_detection.py

### System configuration

> For bug reports, it really helps us to know:

* What OS are you running on? Fedora Linux Rawhide (44)
* What version of scancode-toolkit was used to generate the scan file? 32.4.1
* What installation method was used to install/run scancode? (pip/source download/other) from source

Here are the exact versions Fedora is using in case that helps:

```
$ pip freeze
alabaster==0.7.16
attrs==25.3.0
babel==2.17.0
banal==1.0.6
beartype==0.22.0
beautifulsoup4==4.13.5
binaryornot==0.4.4
boolean.py==5.0
cffi==1.17.1
chardet==5.2.0
charset-normalizer==3.4.3
click==8.2.2
colorama==0.4.6
commoncode==32.3.0
container-inspector==33.0.1
cryptography==45.0.4
debian_inspector==31.1.0
dockerfile-parse==2.0.1
docutils==0.21.2
dparse2==0.7.0
extractcode==31.0.0
extractcode_7z_system_provided==16.5.210531
extractcode_libarchive_system_provided==3.5.1.210531
fasteners==0.20
fingerprints==1.2.3
ftfy==6.3.1
gemfileparser2==0.9.4
html5lib==1.1
idna==3.10
imagesize==1.4.1
importlib_metadata==8.7.0
iniconfig==2.1.0
intbitset==4.0.0
jaraco.functools==4.1.0
javaproperties==0.8.2
Jinja2==3.1.6
jsonstreams==0.6.0
license-expression==30.4.4
lxml==6.0.1
MarkupSafe==3.0.2
more-itertools==10.5.0
normality==2.5.0
packageurl-python==0.16.0
packaging==25.0
packvers==21.5
parameter-expansion-patched==0.3.1
pdfminer.six==20250506
pefile==2024.8.26
pip-requirements-parser==32.0.1
pkginfo==1.12.1.2
pluggy==1.6.0
plugincode==32.0.0
ply==3.11
publicsuffix2==2.20191221
pyahocorasick==2.2.0
pycparser==2.22
pygmars==1.0.0
Pygments==2.19.1
pymaven-patch==0.3.2
pyparsing==3.1.2
pytest==8.3.5
PyYAML==6.0.2
rdflib==7.1.4
requests==2.32.5
roman-numerals-py==3.1.0
saneyaml==0.6.0
scancode-toolkit==32.4.1
semantic_version==2.10.0
setuptools==78.1.1
six==1.17.0
snowballstemmer==3.0.1
soupsieve==2.7
spdx-tools==0.8.2
Sphinx==8.2.3
sphinx-copybutton==0.5.2
sphinx-reredirects==1.0.0
sphinx_rtd_theme==3.0.2
sphinxcontrib-jquery==4.1
text-unidecode==1.3
tomcli==0.10.1
toml==0.10.2
tomlkit==0.13.2
typecode==30.0.1
typecode_libmagic-system-provided==5.39.210531
typing_extensions==4.15.0rc1
uritools==4.0.3
urllib3==2.5.0
urlpy==0.5
wcwidth==0.2.13
webencodings==0.5.1
wheel==0.45.1
xmltodict==0.14.2
zipp==3.21.0
```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.