============================= test session starts ==============================
platform linux -- Python 3.10.19, pytest-7.4.4, pluggy-1.6.0 -- /home/goblin/RsMetaCheck/py3.10/bin/python
cachedir: .pytest_cache
rootdir: /home/[anon]/RsMetaCheck
plugins: typeguard-4.4.4
collecting ... collected 1366 items

test_p001.py::TestExtractVersionFromMetadata::test_extract_version_scenarios[somef_data0-None] PASSED [  0%]
test_p001.py::TestExtractVersionFromMetadata::test_extract_version_scenarios[somef_data1-None] PASSED [  0%]
test_p001.py::TestExtractVersionFromMetadata::test_extract_version_scenarios[somef_data2-None] PASSED [  0%]
test_p001.py::TestExtractVersionFromMetadata::test_extract_version_scenarios[somef_data3-None] PASSED [  0%]
test_p001.py::TestExtractVersionFromMetadata::test_extract_version_scenarios[somef_data4-None] PASSED [  0%]
test_p001.py::TestExtractVersionFromMetadata::test_extract_version_scenarios[somef_data5-expected5] PASSED [  0%]
test_p001.py::TestExtractVersionFromMetadata::test_extract_version_scenarios[somef_data6-expected6] PASSED [  0%]
test_p001.py::TestExtractVersionFromMetadata::test_extract_version_scenarios[somef_data7-expected7] PASSED [  0%]
test_p001.py::TestExtractVersionFromMetadata::test_extract_version_scenarios[somef_data8-expected8] PASSED [  0%]
test_p001.py::TestExtractVersionFromMetadata::test_extract_version_scenarios[somef_data9-None] PASSED [  0%]
test_p001.py::TestExtractVersionFromMetadata::test_extract_version_scenarios[somef_data10-None] PASSED [  0%]
test_p001.py::TestExtractLatestReleaseVersion::test_extract_release_scenarios[somef_data0-None] PASSED [  0%]
test_p001.py::TestExtractLatestReleaseVersion::test_extract_release_scenarios[somef_data1-None] PASSED [  0%]
test_p001.py::TestExtractLatestReleaseVersion::test_extract_release_scenarios[somef_data2-None] PASSED [  1%]
test_p001.py::TestExtractLatestReleaseVersion::test_extract_release_scenarios[somef_data3-None] PASSED [  1%]
test_p001.py::TestExtractLatestReleaseVersion::test_extract_release_scenarios[somef_data4-None] PASSED [  1%]
test_p001.py::TestExtractLatestReleaseVersion::test_extract_release_scenarios[somef_data5-v1.0.0] PASSED [  1%]
test_p001.py::TestExtractLatestReleaseVersion::test_extract_release_scenarios[somef_data6-v2.3.1] PASSED [  1%]
test_p001.py::TestExtractLatestReleaseVersion::test_extract_release_scenarios[somef_data7-v3.0.0] PASSED [  1%]
test_p001.py::TestExtractLatestReleaseVersion::test_extract_release_scenarios[somef_data8-None] PASSED [  1%]
test_p001.py::TestExtractLatestReleaseVersion::test_extract_release_scenarios[somef_data9-None] PASSED [  1%]
test_p001.py::TestExtractLatestReleaseVersion::test_extract_release_scenarios[somef_data10-None] PASSED [  1%]
test_p001.py::TestDetectVersionMismatch::test_detect_mismatch_scenarios[somef_data0-test_repo.json-False-1.0.0-1.0.0] PASSED [  1%]
test_p001.py::TestDetectVersionMismatch::test_detect_mismatch_scenarios[somef_data1-test_repo.json-True-1.2.3-2.0.0] PASSED [  1%]
test_p001.py::TestDetectVersionMismatch::test_detect_mismatch_scenarios[somef_data2-test_repo.json-False-None-None] PASSED [  1%]
test_p001.py::TestDetectVersionMismatch::test_detect_mismatch_scenarios[somef_data3-test_repo.json-False-None-None] PASSED [  1%]
test_p001.py::TestDetectVersionMismatch::test_detect_mismatch_scenarios[somef_data4-another_repo.json-True-2.5.0-2.5.1] PASSED [  1%]
test_p001.py::TestDetectVersionMismatch::test_result_structure PASSED    [  2%]
test_p002.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data0-None] PASSED [  2%]
test_p002.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data1-None] PASSED [  2%]
test_p002.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data2-None] PASSED [  2%]
test_p002.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data3-None] PASSED [  2%]
test_p002.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data4-None] PASSED [  2%]
test_p002.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data5-expected5] PASSED [  2%]
test_p002.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data6-None] PASSED [  2%]
test_p002.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data7-expected7] PASSED [  2%]
test_p002.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data8-None] PASSED [  2%]
test_p002.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data9-None] PASSED [  2%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[-False] PASSED [  2%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[None-False] PASSED [  2%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[MIT License\n\nCopyright (c) 2024 John Doe-False] PASSED [  3%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[Apache License Version 2.0-False] PASSED [  3%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[Copyright (c) <year> <name of author>-True] PASSED [  3%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[Copyright <yyyy> by <name>-True] PASSED [  3%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[Licensed to <program> under Apache-True] PASSED [  3%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[Copyright [year] [fullname]-True] PASSED [  3%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[Copyright [year] by [name]-True] PASSED [  3%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[[copyright holder] reserves all rights-True] PASSED [  3%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[<copyright holders> 2024-True] PASSED [  3%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[Copyright <owner> 2024-True] PASSED [  3%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[<author> wrote this code-True] PASSED [  3%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[<name of copyright owner>-True] PASSED [  3%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[Copyright <YEAR> <NAME OF AUTHOR>-True] PASSED [  3%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[Copyright <Year> <Name>-True] PASSED [  3%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[MIT License\n\nCopyright (c) <year> John Doe-True] PASSED [  4%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[Real Name followed by <program>-True] PASSED [  4%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[Copyright (c) 2024 John Smith, Jr.-False] PASSED [  4%]
test_p002.py::TestCheckLicenseTemplatePlaceholders::test_placeholder_detection_scenarios[Copyright <year> <name>\nLicensed by <owner>-True] PASSED [  4%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_detect_template_scenarios[somef_data0-test_repo.json-False-False] PASSED [  4%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_detect_template_scenarios[somef_data1-test_repo.json-False-False] PASSED [  4%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_detect_template_scenarios[somef_data2-test_repo.json-True-True] PASSED [  4%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_detect_template_scenarios[somef_data3-another_repo.json-True-True] PASSED [  4%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_detect_template_scenarios[somef_data4-test_repo.json-True-True] PASSED [  4%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_detect_template_scenarios[somef_data5-test_repo.json-False-False] PASSED [  4%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_result_structure PASSED [  4%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_all_placeholder_patterns[<program>] PASSED [  4%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_all_placeholder_patterns[<year>] PASSED [  4%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_all_placeholder_patterns[<name of author>] PASSED [  4%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_all_placeholder_patterns[<name>] PASSED [  5%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_all_placeholder_patterns[<copyright holders>] PASSED [  5%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_all_placeholder_patterns[<owner>] PASSED [  5%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_all_placeholder_patterns[<author>] PASSED [  5%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_all_placeholder_patterns[[year]] PASSED [  5%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_all_placeholder_patterns[[fullname]] PASSED [  5%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_all_placeholder_patterns[[name]] PASSED [  5%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_all_placeholder_patterns[[copyright holder]] PASSED [  5%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_all_placeholder_patterns[<yyyy>] PASSED [  5%]
test_p002.py::TestDetectLicenseTemplatePlaceholders::test_all_placeholder_patterns[<name of copyright owner>] PASSED [  5%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[-False] PASSED [  5%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[None-False] PASSED [  5%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[123-False] PASSED [  5%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[author_value3-False] PASSED [  6%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[author_value4-False] PASSED [  6%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[John Smith-False] PASSED [  6%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[Jane Doe-False] PASSED [  6%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[Dr. Robert Johnson-False] PASSED [  6%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[John Smith and Jane Doe-True] PASSED [  6%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[Alice and Bob and Charlie-True] PASSED [  6%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[John AND Jane-True] PASSED [  6%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[John Smith & Jane Doe-True] PASSED [  6%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[Alice & Bob-True] PASSED [  6%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[John Smith, Jane Doe-True] PASSED [  6%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[Alice, Bob, Charlie-True] PASSED [  6%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[John Smith, Jr.-False] PASSED [  6%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[Robert Johnson, Jr.-False] PASSED [  6%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[John Smith; Jane Doe-True] PASSED [  7%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[Alice; Bob; Charlie-True] PASSED [  7%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[John Smith\nJane Doe-True] PASSED [  7%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[Alice\nBob\nCharlie-True] PASSED [  7%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[John Smith, Jane Doe and Alice Brown-True] PASSED [  7%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[John & Jane, Alice-True] PASSED [  7%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[  John Smith and Jane Doe  -True] PASSED [  7%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[John,Jane-True] PASSED [  7%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[Smith, John-True] PASSED [  7%]
test_p003.py::TestHasMultipleAuthorsInSingleField::test_multiple_authors_detection[Dr. Smith and Dr. Jones-True] PASSED [  7%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_detect_pitfall_scenarios[somef_data0-test_repo.json-False-None] PASSED [  7%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_detect_pitfall_scenarios[somef_data1-test_repo.json-False-None] PASSED [  7%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_detect_pitfall_scenarios[somef_data2-test_repo.json-False-None] PASSED [  7%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_detect_pitfall_scenarios[somef_data3-test_repo.json-False-None] PASSED [  7%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_detect_pitfall_scenarios[somef_data4-test_repo.json-True-John Smith and Jane Doe] PASSED [  8%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_detect_pitfall_scenarios[somef_data5-test_repo.json-True-Alice, Bob, Charlie] PASSED [  8%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_detect_pitfall_scenarios[somef_data6-test_repo.json-True-John Smith and Jane Doe] PASSED [  8%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_detect_pitfall_scenarios[somef_data7-test_repo.json-False-None] PASSED [  8%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_detect_pitfall_scenarios[somef_data8-test_repo.json-False-None] PASSED [  8%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_detect_pitfall_scenarios[somef_data9-test_repo.json-True-Alice & Bob] PASSED [  8%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_result_structure PASSED [  8%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_all_metadata_sources[codemeta.json] PASSED [  8%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_all_metadata_sources[DESCRIPTION] PASSED [  8%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_all_metadata_sources[composer.json] PASSED [  8%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_all_metadata_sources[package.json] PASSED [  8%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_all_metadata_sources[pom.xml] PASSED [  8%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_all_metadata_sources[pyproject.toml] PASSED [  8%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_all_metadata_sources[requirements.txt] PASSED [  9%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_all_metadata_sources[setup.py] PASSED [  9%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_all_separator_patterns[ and ] PASSED [  9%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_all_separator_patterns[ & ] PASSED [  9%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_all_separator_patterns[, ] PASSED [  9%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_all_separator_patterns[; ] PASSED [  9%]
test_p003.py::TestDetectMultipleAuthorsSingleFieldPitfall::test_all_separator_patterns[\n] PASSED [  9%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[-False] PASSED [  9%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[None-False] PASSED [  9%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/myproject.readthedocs.io-True] PASSED [  9%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/myproject.readthedocs.io/en/latest/-True] PASSED [  9%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/username.github.io-True] PASSED [  9%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/username.github.io/project-True] PASSED [  9%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/github.com/user/repo/wiki-True] PASSED [  9%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/gitlab.com/user/repo/wiki-True] PASSED [ 10%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/docs.python.org-True] PASSED [ 10%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/documentation.example.com-True] PASSED [ 10%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/github.com/user/repo-True] PASSED [ 10%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/github.com/user/repo/-True] PASSED [ 10%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/gitlab.com/user/repo-True] PASSED [ 10%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/github.com/user/repo/blob/main/README.md-False] PASSED [ 10%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/github.com/user/repo/readme.md-False] PASSED [ 10%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/github.com/user/repo/README-False] PASSED [ 10%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/gitlab.com/user/repo/blob/master/README.md-False] PASSED [ 10%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/example.org-True] PASSED [ 10%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/example.com-True] PASSED [ 10%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/example.net-True] PASSED [ 10%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/raw.githubusercontent.com/user/repo/main/README.md-False] PASSED [ 10%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/GitHub.com/user/repo-True] PASSED [ 11%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/github.com/user/repo/Blob/main/README.md-False] PASSED [ 11%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/github.com-True] PASSED [ 11%]
test_p004.py::TestIsHomepageUrl::test_homepage_detection_scenarios[https:/docs.github.com-True] PASSED [ 11%]
test_p004.py::TestIsHomepageUrl::test_readme_files_not_detected_as_homepage[https:/github.com/user/repo/blob/main/README.md] PASSED [ 11%]
test_p004.py::TestIsHomepageUrl::test_readme_files_not_detected_as_homepage[https:/github.com/user/repo/blob/master/readme.txt] PASSED [ 11%]
test_p004.py::TestIsHomepageUrl::test_readme_files_not_detected_as_homepage[https:/gitlab.com/user/repo/blob/main/README.rst] PASSED [ 11%]
test_p004.py::TestIsHomepageUrl::test_readme_files_not_detected_as_homepage[https:/raw.githubusercontent.com/user/repo/main/README.md] PASSED [ 11%]
test_p004.py::TestIsHomepageUrl::test_all_homepage_indicators[.readthedocs.io] PASSED [ 11%]
test_p004.py::TestIsHomepageUrl::test_all_homepage_indicators[.github.io] PASSED [ 11%]
test_p004.py::TestIsHomepageUrl::test_all_homepage_indicators[wiki] PASSED [ 11%]
test_p004.py::TestIsHomepageUrl::test_all_homepage_indicators[docs.] PASSED [ 11%]
test_p004.py::TestIsHomepageUrl::test_all_homepage_indicators[documentation] PASSED [ 11%]
test_p004.py::TestIsHomepageUrl::test_all_homepage_indicators[.org] PASSED [ 12%]
test_p004.py::TestIsHomepageUrl::test_all_homepage_indicators[.com] PASSED [ 12%]
test_p004.py::TestIsHomepageUrl::test_all_homepage_indicators[.net] PASSED [ 12%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_detect_pitfall_scenarios[somef_data0-test_repo.json-False-None] PASSED [ 12%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_detect_pitfall_scenarios[somef_data1-test_repo.json-False-None] PASSED [ 12%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_detect_pitfall_scenarios[somef_data2-test_repo.json-False-None] PASSED [ 12%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_detect_pitfall_scenarios[somef_data3-test_repo.json-False-None] PASSED [ 12%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_detect_pitfall_scenarios[somef_data4-test_repo.json-True-https:/github.com/user/repo] PASSED [ 12%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_detect_pitfall_scenarios[somef_data5-test_repo.json-True-https:/myproject.readthedocs.io] PASSED [ 12%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_detect_pitfall_scenarios[somef_data6-test_repo.json-True-https:/github.com/user/repo/wiki] PASSED [ 12%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_detect_pitfall_scenarios[somef_data7-test_repo.json-True-https:/username.github.io/project] PASSED [ 12%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_detect_pitfall_scenarios[somef_data8-test_repo.json-False-None] PASSED [ 12%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_detect_pitfall_scenarios[somef_data9-test_repo.json-False-None] PASSED [ 12%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_detect_pitfall_scenarios[somef_data10-test_repo.json-True-https:/docs.example.com] PASSED [ 12%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_detect_pitfall_scenarios[somef_data11-test_repo.json-False-None] PASSED [ 13%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_result_structure PASSED [ 13%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_different_homepage_types[readthedocs-https:/project.readthedocs.io] PASSED [ 13%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_different_homepage_types[github_pages-https:/user.github.io] PASSED [ 13%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_different_homepage_types[wiki-https:/github.com/user/repo/wiki] PASSED [ 13%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_different_homepage_types[docs_site-https:/docs.example.com] PASSED [ 13%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_different_homepage_types[repo_root-https:/github.com/user/repo] PASSED [ 13%]
test_p004.py::TestDetectReadmeHomepagePitfall::test_stops_at_first_pitfall PASSED [ 13%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[-False] PASSED [ 13%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[None-False] PASSED [ 13%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[123-False] PASSED [ 13%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[url3-False] PASSED [ 13%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[url4-False] PASSED [ 13%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/zenodo.org/record/12345-True] PASSED [ 13%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/www.zenodo.org/record/67890-True] PASSED [ 14%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[http:/zenodo.org/communities/software-True] PASSED [ 14%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/figshare.com/articles/software/title/12345-True] PASSED [ 14%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/www.figshare.com/s/abcdef123456-True] PASSED [ 14%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/github.com/user/repo/releases-True] PASSED [ 14%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/github.com/user/repo/releases/tag/v1.0.0-True] PASSED [ 14%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/github.com/user/repo/releases/latest-True] PASSED [ 14%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/sourceforge.net/projects/myproject-True] PASSED [ 14%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/www.sourceforge.net/projects/myproject/files/-True] PASSED [ 14%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/archive.org/details/software-True] PASSED [ 14%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/www.archive.org/download/software/file.zip-True] PASSED [ 14%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/codeocean.com/capsule/12345-True] PASSED [ 14%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/www.codeocean.com/capsule/67890/tree-True] PASSED [ 14%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/osf.io/abc123-True] PASSED [ 15%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/www.osf.io/xyz789/-True] PASSED [ 15%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/doi.org/10.5281/zenodo.12345-True] PASSED [ 15%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[http:/dx.doi.org/10.5281/zenodo.67890-True] PASSED [ 15%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/doi.org/10.1000/journal.12345-False] PASSED [ 15%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/arxiv.org/abs/2101.12345-False] PASSED [ 15%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/doi.org/10.1109/journal.2021.12345-False] PASSED [ 15%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/dl.acm.org/doi/10.1145/12345-False] PASSED [ 15%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/ieeexplore.ieee.org/document/12345-False] PASSED [ 15%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/github.com/user/repo-False] PASSED [ 15%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/github.com/user/repo/blob/main/README.md-False] PASSED [ 15%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/ZENODO.ORG/record/12345-True] PASSED [ 15%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/GitHub.com/user/repo/RELEASES-True] PASSED [ 15%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[  https:/zenodo.org/record/12345  -True] PASSED [ 15%]
test_p005.py::TestIsSoftwareArchiveUrl::test_software_archive_detection_scenarios[https:/doi.org/10.1038/nature12345-False] PASSED [ 16%]
test_p005.py::TestIsSoftwareArchiveUrl::test_all_archive_patterns[zenodo.org] PASSED [ 16%]
test_p005.py::TestIsSoftwareArchiveUrl::test_all_archive_patterns[figshare.com] PASSED [ 16%]
test_p005.py::TestIsSoftwareArchiveUrl::test_all_archive_patterns[github.com/.*/releases] PASSED [ 16%]
test_p005.py::TestIsSoftwareArchiveUrl::test_all_archive_patterns[sourceforge.net] PASSED [ 16%]
test_p005.py::TestIsSoftwareArchiveUrl::test_all_archive_patterns[archive.org] PASSED [ 16%]
test_p005.py::TestIsSoftwareArchiveUrl::test_all_archive_patterns[codeocean.com] PASSED [ 16%]
test_p005.py::TestIsSoftwareArchiveUrl::test_all_archive_patterns[osf.io] PASSED [ 16%]
test_p005.py::TestIsSoftwareArchiveUrl::test_all_archive_patterns[doi.org/10.5281] PASSED [ 16%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_detect_pitfall_scenarios[somef_data0-test_repo.json-False-None] PASSED [ 16%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_detect_pitfall_scenarios[somef_data1-test_repo.json-False-None] PASSED [ 16%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_detect_pitfall_scenarios[somef_data2-test_repo.json-False-None] PASSED [ 16%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_detect_pitfall_scenarios[somef_data3-test_repo.json-False-None] PASSED [ 16%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_detect_pitfall_scenarios[somef_data4-test_repo.json-True-https:/zenodo.org/record/12345] PASSED [ 16%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_detect_pitfall_scenarios[somef_data5-test_repo.json-True-https:/github.com/user/repo/releases/tag/v1.0.0] PASSED [ 17%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_detect_pitfall_scenarios[somef_data6-test_repo.json-True-https:/figshare.com/articles/software/title/12345] PASSED [ 17%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_detect_pitfall_scenarios[somef_data7-test_repo.json-True-https:/doi.org/10.5281/zenodo.67890] PASSED [ 17%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_detect_pitfall_scenarios[somef_data8-test_repo.json-True-https:/zenodo.org/record/12345] PASSED [ 17%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_detect_pitfall_scenarios[somef_data9-test_repo.json-False-None] PASSED [ 17%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_detect_pitfall_scenarios[somef_data10-test_repo.json-True-https:/zenodo.org/record/12345] PASSED [ 17%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_detect_pitfall_scenarios[somef_data11-test_repo.json-False-None] PASSED [ 17%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_result_structure PASSED [ 17%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_different_archive_types[zenodo-https:/zenodo.org/record/12345] PASSED [ 17%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_different_archive_types[figshare-https:/figshare.com/articles/software/title/12345] PASSED [ 17%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_different_archive_types[github_releases-https:/github.com/user/repo/releases] PASSED [ 17%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_different_archive_types[sourceforge-https:/sourceforge.net/projects/myproject] PASSED [ 17%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_different_archive_types[archive_org-https:/archive.org/details/software] PASSED [ 17%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_different_archive_types[codeocean-https:/codeocean.com/capsule/12345] PASSED [ 18%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_different_archive_types[osf-https:/osf.io/abc123] PASSED [ 18%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_different_archive_types[zenodo_doi-https:/doi.org/10.5281/zenodo.12345] PASSED [ 18%]
test_p005.py::TestDetectReferencePublicationArchivePitfall::test_stops_at_first_pitfall PASSED [ 18%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[-False] PASSED [ 18%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[None-False] PASSED [ 18%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[https:/spdx.org/licenses/MIT.html-False] PASSED [ 18%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[https:/opensource.org/licenses/MIT-False] PASSED [ 18%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[https:/www.gnu.org/licenses/gpl-3.0.html-False] PASSED [ 18%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[https:/creativecommons.org/licenses/by/4.0/-False] PASSED [ 18%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[https:/www.apache.org/licenses/LICENSE-2.0-False] PASSED [ 18%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[https:/www.mozilla.org/en-US/MPL/2.0/-False] PASSED [ 18%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[https:/unlicense.org-False] PASSED [ 18%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[https:/choosealicense.com/licenses/mit/-False] PASSED [ 18%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[MIT-False] PASSED [ 19%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[Apache-2.0-False] PASSED [ 19%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[GPL-3.0-False] PASSED [ 19%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[BSD-3-Clause-False] PASSED [ 19%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[ISC-False] PASSED [ 19%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[./LICENSE-True] PASSED [ 19%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[../LICENSE.md-True] PASSED [ 19%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[./license.txt-True] PASSED [ 19%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[LICENSE-True] PASSED [ 19%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[license-True] PASSED [ 19%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[LICENSE.md-True] PASSED [ 19%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[license.md-True0] PASSED [ 19%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[LICENSE.txt-True] PASSED [ 19%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[license.txt-True0] PASSED [ 19%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[LICENSE.rst-True] PASSED [ 20%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[COPYING-True] PASSED [ 20%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[copying-True] PASSED [ 20%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[COPYING.md-True] PASSED [ 20%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[COPYRIGHT-True] PASSED [ 20%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[copyright-True] PASSED [ 20%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[COPYRIGHT.md-True] PASSED [ 20%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[LICENCE-True] PASSED [ 20%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[licence.md-True] PASSED [ 20%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[licence.txt-True] PASSED [ 20%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[docs/LICENSE.md-True] PASSED [ 20%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[legal/license.txt-True] PASSED [ 20%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[path\\to\\LICENSE-True] PASSED [ 20%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[License-True] PASSED [ 21%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[License.MD-True] PASSED [ 21%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[license.TXT-True] PASSED [ 21%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[http:/example.com/LICENSE-False] PASSED [ 21%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[https:/example.com/license.md-False] PASSED [ 21%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[license.md-True1] PASSED [ 21%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[license.txt-True1] PASSED [ 21%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[license.rst-True] PASSED [ 21%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[MIT License-False] PASSED [ 21%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[Apache License 2.0-False] PASSED [ 21%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[readme.md-True] PASSED [ 21%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[doc.txt-True] PASSED [ 21%]
test_p006.py::TestIsLocalFileLicense::test_local_file_detection_scenarios[file.rst-True] PASSED [ 21%]
test_p006.py::TestIsLocalFileLicense::test_valid_license_urls_not_detected[https:/spdx.org/licenses/MIT.html] PASSED [ 21%]
test_p006.py::TestIsLocalFileLicense::test_valid_license_urls_not_detected[https:/opensource.org/licenses/Apache-2.0] PASSED [ 22%]
test_p006.py::TestIsLocalFileLicense::test_valid_license_urls_not_detected[https:/www.gnu.org/licenses/gpl-3.0.html] PASSED [ 22%]
test_p006.py::TestIsLocalFileLicense::test_valid_license_urls_not_detected[https:/creativecommons.org/licenses/by-sa/4.0/] PASSED [ 22%]
test_p006.py::TestIsLocalFileLicense::test_valid_license_urls_not_detected[https:/www.apache.org/licenses/LICENSE-2.0.txt] PASSED [ 22%]
test_p006.py::TestIsLocalFileLicense::test_valid_license_urls_not_detected[https:/www.mozilla.org/en-US/MPL/2.0/] PASSED [ 22%]
test_p006.py::TestIsLocalFileLicense::test_valid_license_urls_not_detected[https:/unlicense.org/] PASSED [ 22%]
test_p006.py::TestIsLocalFileLicense::test_valid_license_urls_not_detected[https:/choosealicense.com/licenses/mit/] PASSED [ 22%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[LICENSE] PASSED [ 22%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[license] PASSED [ 22%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[LICENSE.md] PASSED [ 22%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[license.md] PASSED [ 22%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[LICENSE.txt] PASSED [ 22%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[license.txt] PASSED [ 22%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[LICENSE.rst] PASSED [ 22%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[COPYING] PASSED [ 23%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[copying] PASSED [ 23%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[COPYING.md] PASSED [ 23%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[copying.txt] PASSED [ 23%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[COPYRIGHT] PASSED [ 23%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[copyright] PASSED [ 23%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[COPYRIGHT.md] PASSED [ 23%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[LICENCE] PASSED [ 23%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[licence] PASSED [ 23%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[licence.md] PASSED [ 23%]
test_p006.py::TestIsLocalFileLicense::test_common_license_file_names[licence.txt] PASSED [ 23%]
test_p006.py::TestIsLocalFileLicense::test_paths_detected[./LICENSE] PASSED [ 23%]
test_p006.py::TestIsLocalFileLicense::test_paths_detected[../LICENSE.md] PASSED [ 23%]
test_p006.py::TestIsLocalFileLicense::test_paths_detected[docs/LICENSE] PASSED [ 24%]
test_p006.py::TestIsLocalFileLicense::test_paths_detected[legal/license.txt] PASSED [ 24%]
test_p006.py::TestIsLocalFileLicense::test_paths_detected[path/to/LICENSE.md] PASSED [ 24%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_detect_pitfall_scenarios[somef_data0-test_repo.json-False-None] PASSED [ 24%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_detect_pitfall_scenarios[somef_data1-test_repo.json-False-None] PASSED [ 24%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_detect_pitfall_scenarios[somef_data2-test_repo.json-False-None] PASSED [ 24%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_detect_pitfall_scenarios[somef_data3-test_repo.json-False-None] PASSED [ 24%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_detect_pitfall_scenarios[somef_data4-test_repo.json-False-None] PASSED [ 24%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_detect_pitfall_scenarios[somef_data5-test_repo.json-True-LICENSE] PASSED [ 24%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_detect_pitfall_scenarios[somef_data6-test_repo.json-True-license.md] PASSED [ 24%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_detect_pitfall_scenarios[somef_data7-test_repo.json-True-./LICENSE] PASSED [ 24%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_detect_pitfall_scenarios[somef_data8-test_repo.json-True-docs/LICENSE.md] PASSED [ 24%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_detect_pitfall_scenarios[somef_data9-test_repo.json-True-LICENSE] PASSED [ 24%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_detect_pitfall_scenarios[somef_data10-test_repo.json-False-None] PASSED [ 24%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_detect_pitfall_scenarios[somef_data11-test_repo.json-True-license.txt] PASSED [ 25%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_detect_pitfall_scenarios[somef_data12-test_repo.json-False-None] PASSED [ 25%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_result_structure PASSED [ 25%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_all_metadata_sources[codemeta.json] PASSED [ 25%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_all_metadata_sources[DESCRIPTION] PASSED [ 25%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_all_metadata_sources[composer.json] PASSED [ 25%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_all_metadata_sources[package.json] PASSED [ 25%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_all_metadata_sources[pom.xml] PASSED [ 25%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_all_metadata_sources[pyproject.toml] PASSED [ 25%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_all_metadata_sources[requirements.txt] PASSED [ 25%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_all_metadata_sources[setup.py] PASSED [ 25%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_different_local_file_patterns[LICENSE] PASSED [ 25%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_different_local_file_patterns[license] PASSED [ 25%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_different_local_file_patterns[LICENSE.md] PASSED [ 25%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_different_local_file_patterns[license.txt] PASSED [ 26%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_different_local_file_patterns[./LICENSE] PASSED [ 26%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_different_local_file_patterns[../LICENSE.md] PASSED [ 26%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_different_local_file_patterns[docs/LICENSE] PASSED [ 26%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_different_local_file_patterns[COPYING] PASSED [ 26%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_different_local_file_patterns[COPYRIGHT] PASSED [ 26%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_different_local_file_patterns[LICENCE] PASSED [ 26%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_stops_at_first_pitfall PASSED [ 26%]
test_p006.py::TestDetectLocalFileLicensePitfall::test_source_fallback_to_technique PASSED [ 26%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_detect_pitfall_scenarios[somef_data0-test_repo.json-False-False-False-False] PASSED [ 26%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_detect_pitfall_scenarios[somef_data1-test_repo.json-False-False-False-False] PASSED [ 26%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_detect_pitfall_scenarios[somef_data2-test_repo.json-False-False-False-False] PASSED [ 26%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_detect_pitfall_scenarios[somef_data3-test_repo.json-False-True-False-False] PASSED [ 26%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_detect_pitfall_scenarios[somef_data4-test_repo.json-False-True-True-True] PASSED [ 27%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_detect_pitfall_scenarios[somef_data5-test_repo.json-True-True-False-True] PASSED [ 27%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_detect_pitfall_scenarios[somef_data6-test_repo.json-True-True-False-True] PASSED [ 27%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_detect_pitfall_scenarios[somef_data7-test_repo.json-True-True-False-True] PASSED [ 27%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_detect_pitfall_scenarios[somef_data8-test_repo.json-True-True-False-True] PASSED [ 27%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_detect_pitfall_scenarios[somef_data9-test_repo.json-True-True-False-True] PASSED [ 27%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_detect_pitfall_scenarios[somef_data10-test_repo.json-False-False-True-False] PASSED [ 27%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_detect_pitfall_scenarios[somef_data11-test_repo.json-True-True-False-True] PASSED [ 27%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_detect_pitfall_scenarios[somef_data12-test_repo.json-False-False-False-True] PASSED [ 27%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_result_structure PASSED [ 27%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_citation_cff_detection_in_all_categories[authors] PASSED [ 27%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_citation_cff_detection_in_all_categories[title] PASSED [ 27%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_citation_cff_detection_in_all_categories[description] PASSED [ 27%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_citation_cff_detection_in_all_categories[version] PASSED [ 27%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_citation_cff_detection_in_all_categories[license] PASSED [ 28%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_pitfall_requires_all_conditions PASSED [ 28%]
test_p007.py::TestDetectCitationMissingReferencePublicationPitfall::test_non_list_entries_handled PASSED [ 28%]
test_p008.py::TestIsValidUrlFormat::test_is_valid_url_format_scenarios[https:/example.com-True] PASSED [ 28%]
test_p008.py::TestIsValidUrlFormat::test_is_valid_url_format_scenarios[http:/example.com-True] PASSED [ 28%]
test_p008.py::TestIsValidUrlFormat::test_is_valid_url_format_scenarios[https:/www.example.com/path-True] PASSED [ 28%]
test_p008.py::TestIsValidUrlFormat::test_is_valid_url_format_scenarios[https:/example.com:8080/path-True] PASSED [ 28%]
test_p008.py::TestIsValidUrlFormat::test_is_valid_url_format_scenarios[example.com-False] PASSED [ 28%]
test_p008.py::TestIsValidUrlFormat::test_is_valid_url_format_scenarios[www.example.com-False] PASSED [ 28%]
test_p008.py::TestIsValidUrlFormat::test_is_valid_url_format_scenarios[/path/to/file-False] PASSED [ 28%]
test_p008.py::TestIsValidUrlFormat::test_is_valid_url_format_scenarios[not a url-False] PASSED [ 28%]
test_p008.py::TestIsValidUrlFormat::test_is_valid_url_format_scenarios[-False] PASSED [ 28%]
test_p008.py::TestIsValidUrlFormat::test_is_valid_url_format_scenarios[   -False] PASSED [ 28%]
test_p008.py::TestIsValidUrlFormat::test_is_valid_url_format_scenarios[https:/-False] PASSED [ 28%]
test_p008.py::TestIsValidUrlFormat::test_is_valid_url_format_scenarios[http:/-False] PASSED [ 29%]
test_p008.py::TestIsValidUrlFormat::test_is_valid_url_format_scenarios[https:/example-True] PASSED [ 29%]
test_p008.py::TestIsValidUrlFormat::test_none_url_raises_error PASSED    [ 29%]
test_p008.py::TestIsValidUrlFormat::test_non_string_url PASSED           [ 29%]
test_p008.py::TestCheckUrlStatus::test_successful_request PASSED         [ 29%]
test_p008.py::TestCheckUrlStatus::test_redirect_status_code PASSED       [ 29%]
test_p008.py::TestCheckUrlStatus::test_not_found_error PASSED            [ 29%]
test_p008.py::TestCheckUrlStatus::test_server_error PASSED               [ 29%]
test_p008.py::TestCheckUrlStatus::test_request_exception PASSED          [ 29%]
test_p008.py::TestCheckUrlStatus::test_invalid_url_format PASSED         [ 29%]
test_p008.py::TestCheckUrlStatus::test_custom_timeout PASSED             [ 29%]
test_p008.py::TestCheckUrlStatus::test_user_agent_header PASSED          [ 29%]
test_p008.py::TestExtractUrlsFromRequirements::test_extract_urls_scenarios[Install from https:/example.com/package-expected0] PASSED [ 29%]
test_p008.py::TestExtractUrlsFromRequirements::test_extract_urls_scenarios[See http:/example.com for details-expected1] PASSED [ 30%]
test_p008.py::TestExtractUrlsFromRequirements::test_extract_urls_scenarios[Visit https:/example.com and http:/test.org-expected2] PASSED [ 30%]
test_p008.py::TestExtractUrlsFromRequirements::test_extract_urls_scenarios[Download from www.example.com/file-expected3] PASSED [ 30%]
test_p008.py::TestExtractUrlsFromRequirements::test_extract_urls_scenarios[Visit https:/example.com.-expected4] PASSED [ 30%]
test_p008.py::TestExtractUrlsFromRequirements::test_extract_urls_scenarios[See https:/example.com!-expected5] PASSED [ 30%]
test_p008.py::TestExtractUrlsFromRequirements::test_extract_urls_scenarios[Link: https:/example.com,-expected6] PASSED [ 30%]
test_p008.py::TestExtractUrlsFromRequirements::test_extract_urls_scenarios[No URLs in this text-expected7] PASSED [ 30%]
test_p008.py::TestExtractUrlsFromRequirements::test_extract_urls_scenarios[-expected8] PASSED [ 30%]
test_p008.py::TestExtractUrlsFromRequirements::test_extract_urls_scenarios[Install package from https:/pypi.org/project/name. See www.docs.com for help!-expected9] PASSED [ 30%]
test_p008.py::TestExtractUrlsFromRequirements::test_none_input PASSED    [ 30%]
test_p008.py::TestExtractUrlsFromRequirements::test_empty_input PASSED   [ 30%]
test_p008.py::TestExtractUrlsFromRequirements::test_url_with_query_parameters PASSED [ 30%]
test_p008.py::TestExtractUrlsFromRequirements::test_url_cleaning PASSED  [ 30%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_detect_invalid_requirement_basic_scenarios[somef_data0-test_repo.json-False] PASSED [ 30%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_detect_invalid_requirement_basic_scenarios[somef_data1-test_repo.json-False] PASSED [ 31%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_detect_invalid_requirement_basic_scenarios[somef_data2-test_repo.json-False] PASSED [ 31%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_detect_invalid_requirement_basic_scenarios[somef_data3-test_repo.json-False] PASSED [ 31%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_detect_invalid_requirement_basic_scenarios[somef_data4-test_repo.json-False] PASSED [ 31%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_detect_invalid_requirement_basic_scenarios[somef_data5-test_repo.json-False] PASSED [ 31%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_valid_url_requirement_accessible PASSED [ 31%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_valid_url_requirement_inaccessible PASSED [ 31%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_requirement_text_with_embedded_urls PASSED [ 31%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_result_structure PASSED [ 31%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_all_metadata_sources[codemeta.json] PASSED [ 31%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_all_metadata_sources[description] PASSED [ 31%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_all_metadata_sources[composer.json] PASSED [ 31%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_all_metadata_sources[package.json] PASSED [ 31%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_all_metadata_sources[pom.xml] PASSED [ 31%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_all_metadata_sources[pyproject.toml] PASSED [ 32%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_all_metadata_sources[requirements.txt] PASSED [ 32%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_all_metadata_sources[setup.py] PASSED [ 32%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_multiple_urls_in_requirement PASSED [ 32%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_requirement_as_list PASSED [ 32%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_requirement_as_dict PASSED [ 32%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_stops_at_first_invalid_url PASSED [ 32%]
test_p008.py::TestDetectInvalidSoftwareRequirementPitfall::test_wrong_technique_no_check PASSED [ 32%]
test_p009.py::TestIsRepositoryUrl::test_is_repository_url_scenarios[https:/github.com/user/repo-True] PASSED [ 32%]
test_p009.py::TestIsRepositoryUrl::test_is_repository_url_scenarios[https:/gitlab.com/user/project-True] PASSED [ 32%]
test_p009.py::TestIsRepositoryUrl::test_is_repository_url_scenarios[https:/bitbucket.org/team/repo-True] PASSED [ 32%]
test_p009.py::TestIsRepositoryUrl::test_is_repository_url_scenarios[https:/sourceforge.net/projects/myproject-True] PASSED [ 32%]
test_p009.py::TestIsRepositoryUrl::test_is_repository_url_scenarios[https:/git.example.com/repo-True] PASSED [ 32%]
test_p009.py::TestIsRepositoryUrl::test_is_repository_url_scenarios[https:/example.com/repo.git-True] PASSED [ 33%]
test_p009.py::TestIsRepositoryUrl::test_is_repository_url_scenarios[HTTPS:/GITHUB.COM/USER/REPO-True] PASSED [ 33%]
test_p009.py::TestIsRepositoryUrl::test_is_repository_url_scenarios[https:/GitLab.com/project-True] PASSED [ 33%]
test_p009.py::TestIsRepositoryUrl::test_is_repository_url_scenarios[https:/example.org-False] PASSED [ 33%]
test_p009.py::TestIsRepositoryUrl::test_is_repository_url_scenarios[https:/www.example.com-False] PASSED [ 33%]
test_p009.py::TestIsRepositoryUrl::test_is_repository_url_scenarios[https:/docs.example.com-False] PASSED [ 33%]
test_p009.py::TestIsRepositoryUrl::test_is_repository_url_scenarios[-False] PASSED [ 33%]
test_p009.py::TestIsRepositoryUrl::test_is_repository_url_scenarios[None-False] PASSED [ 33%]
test_p009.py::TestIsRepositoryUrl::test_is_repository_url_scenarios[https:/github.com-False] PASSED [ 33%]
test_p009.py::TestIsRepositoryUrl::test_is_repository_url_scenarios[github.com/user/repo-True] PASSED [ 33%]
test_p009.py::TestIsRepositoryUrl::test_is_repository_url_scenarios[git.company.com/project-True] PASSED [ 33%]
test_p009.py::TestIsRepositoryUrl::test_all_repository_indicators PASSED [ 33%]
test_p009.py::TestIsHomepageUrlRepo::test_is_homepage_url_repo_scenarios[https:/example.org/-True] PASSED [ 33%]
test_p009.py::TestIsHomepageUrlRepo::test_is_homepage_url_repo_scenarios[https:/www.example.com/-True] PASSED [ 33%]
test_p009.py::TestIsHomepageUrlRepo::test_is_homepage_url_repo_scenarios[https:/myproject.io/-True] PASSED [ 34%]
test_p009.py::TestIsHomepageUrlRepo::test_is_homepage_url_repo_scenarios[https:/docs.example.com/-True] PASSED [ 34%]
test_p009.py::TestIsHomepageUrlRepo::test_is_homepage_url_repo_scenarios[https:/documentation.example.org/-True] PASSED [ 34%]
test_p009.py::TestIsHomepageUrlRepo::test_is_homepage_url_repo_scenarios[https:/example.readthedocs.io/-True] PASSED [ 34%]
test_p009.py::TestIsHomepageUrlRepo::test_is_homepage_url_repo_scenarios[https:/user.github.io/project-True] PASSED [ 34%]
test_p009.py::TestIsHomepageUrlRepo::test_is_homepage_url_repo_scenarios[https:/github.com/user/repo-False] PASSED [ 34%]
test_p009.py::TestIsHomepageUrlRepo::test_is_homepage_url_repo_scenarios[https:/gitlab.com/project-False] PASSED [ 34%]
test_p009.py::TestIsHomepageUrlRepo::test_is_homepage_url_repo_scenarios[https:/bitbucket.org/team/repo-False] PASSED [ 34%]
test_p009.py::TestIsHomepageUrlRepo::test_is_homepage_url_repo_scenarios[HTTPS:/WWW.EXAMPLE.COM/-True] PASSED [ 34%]
test_p009.py::TestIsHomepageUrlRepo::test_is_homepage_url_repo_scenarios[https:/Docs.Example.org/-True] PASSED [ 34%]
test_p009.py::TestIsHomepageUrlRepo::test_is_homepage_url_repo_scenarios[-False] PASSED [ 34%]
test_p009.py::TestIsHomepageUrlRepo::test_is_homepage_url_repo_scenarios[None-False] PASSED [ 34%]
test_p009.py::TestIsHomepageUrlRepo::test_is_homepage_url_repo_scenarios[https:/github.org/user/repo-False] PASSED [ 34%]
test_p009.py::TestIsHomepageUrlRepo::test_is_homepage_url_repo_scenarios[https:/example.org/projects/repo.git-False] PASSED [ 34%]
test_p009.py::TestIsHomepageUrlRepo::test_homepage_indicators PASSED     [ 35%]
test_p009.py::TestIsHomepageUrlRepo::test_repository_takes_precedence PASSED [ 35%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_detect_coderepository_homepage_scenarios[somef_data0-test_repo.json-False-None-None] PASSED [ 35%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_detect_coderepository_homepage_scenarios[somef_data1-test_repo.json-False-None-None] PASSED [ 35%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_detect_coderepository_homepage_scenarios[somef_data2-test_repo.json-False-None-None] PASSED [ 35%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_detect_coderepository_homepage_scenarios[somef_data3-test_repo.json-False-None-None] PASSED [ 35%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_detect_coderepository_homepage_scenarios[somef_data4-test_repo.json-True-https:/www.example.org/-codemeta.json] PASSED [ 35%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_detect_coderepository_homepage_scenarios[somef_data5-test_repo.json-True-https:/docs.example.com/-package.json] PASSED [ 35%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_detect_coderepository_homepage_scenarios[somef_data6-test_repo.json-True-https:/user.github.io/project-setup.py] PASSED [ 35%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_detect_coderepository_homepage_scenarios[somef_data7-test_repo.json-False-None-None] PASSED [ 35%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_detect_coderepository_homepage_scenarios[somef_data8-test_repo.json-False-None-None] PASSED [ 35%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_detect_coderepository_homepage_scenarios[somef_data9-test_repo.json-False-None-None] PASSED [ 35%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_result_structure PASSED [ 35%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_all_metadata_sources[codemeta.json] PASSED [ 36%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_all_metadata_sources[DESCRIPTION] PASSED [ 36%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_all_metadata_sources[composer.json] PASSED [ 36%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_all_metadata_sources[package.json] PASSED [ 36%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_all_metadata_sources[pom.xml] PASSED [ 36%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_all_metadata_sources[pyproject.toml] PASSED [ 36%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_all_metadata_sources[requirements.txt] PASSED [ 36%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_all_metadata_sources[setup.py] PASSED [ 36%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_stops_at_first_match PASSED [ 36%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_various_homepage_urls[https:/www.example.org/] PASSED [ 36%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_various_homepage_urls[https:/example.com/project] PASSED [ 36%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_various_homepage_urls[https:/docs.project.io/] PASSED [ 36%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_various_homepage_urls[https:/documentation.example.net/] PASSED [ 36%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_various_homepage_urls[https:/project.readthedocs.io/] PASSED [ 36%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_various_homepage_urls[https:/user.github.io/project] PASSED [ 37%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_valid_repository_urls_no_pitfall[https:/github.com/user/repo] PASSED [ 37%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_valid_repository_urls_no_pitfall[https:/gitlab.com/group/project] PASSED [ 37%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_valid_repository_urls_no_pitfall[https:/bitbucket.org/team/repository] PASSED [ 37%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_valid_repository_urls_no_pitfall[https:/sourceforge.net/projects/myproject] PASSED [ 37%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_valid_repository_urls_no_pitfall[https:/git.example.com/repo] PASSED [ 37%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_source_matching_by_technique PASSED [ 37%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_source_matching_by_source_field PASSED [ 37%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_multiple_entries_mixed_sources PASSED [ 37%]
test_p009.py::TestDetectCodeRepositoryHomepagePitfall::test_empty_source_field PASSED [ 37%]
test_p010.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data0-None] PASSED [ 37%]
test_p010.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data1-None] PASSED [ 37%]
test_p010.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data2-None] PASSED [ 37%]
test_p010.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data3-expected3] PASSED [ 37%]
test_p010.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data4-expected4] PASSED [ 38%]
test_p010.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data5-expected5] PASSED [ 38%]
test_p010.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data6-expected6] PASSED [ 38%]
test_p010.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data7-expected7] PASSED [ 38%]
test_p010.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data8-None] PASSED [ 38%]
test_p010.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data9-None] PASSED [ 38%]
test_p010.py::TestExtractLicenseFromFile::test_extract_license_scenarios[somef_data10-None] PASSED [ 38%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_check_copyright_only_scenarios[YEAR: 2017\nCOPYRIGHT HOLDER: Adam H. Sparks-True] PASSED [ 38%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_check_copyright_only_scenarios[Year: 2020\nCopyright Holder: John Doe\nAuthor: Jane Smith-True] PASSED [ 38%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_check_copyright_only_scenarios[Copyright \xa9 2023 Example Corp-True] PASSED [ 38%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_check_copyright_only_scenarios[Copyright (C) 2023 Example-True] PASSED [ 38%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_check_copyright_only_scenarios[(c) 2023 Author Name-True] PASSED [ 38%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_check_copyright_only_scenarios[MIT License\n    \n                Copyright (c) 2023 John Doe\n    \n                Permission is hereby granted, free of charge, to any person obtaining a copy\n                of this software and associated documentation files...-False] PASSED [ 38%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_check_copyright_only_scenarios[Copyright 2023 Author\n    \n                Licensed under the Apache License, Version 2.0-False] PASSED [ 39%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_check_copyright_only_scenarios[Copyright 2023\n    \n                Redistribution and use in source and binary forms, with or without\n                modification, are permitted...-False] PASSED [ 39%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_check_copyright_only_scenarios[-False] PASSED [ 39%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_check_copyright_only_scenarios[None-False] PASSED [ 39%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_check_copyright_only_scenarios[   -False] PASSED [ 39%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_check_copyright_only_scenarios[Copyright 2023\nAll rights reserved-True] PASSED [ 39%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_check_copyright_only_scenarios[YEAR: 2023\n                COPYRIGHT HOLDER: Test\n    \n                Permission is hereby granted, free of charge...-False] PASSED [ 39%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_check_copyright_only_scenarios[Copyright \xa9 2023 Name-True] PASSED [ 39%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_check_copyright_only_scenarios[Copyright 2020 Author1\n                Copyright 2021 Author2\n                Copyright 2022 Author3-True] PASSED [ 39%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_check_copyright_only_scenarios[Copyright 2023 Author\n    \n                You may use this without restriction-False] PASSED [ 39%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_check_copyright_only_scenarios[Copyright 2023\n    \n                This software is provided without warranty-False] PASSED [ 39%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_year_pattern_variations PASSED [ 39%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_copyright_holder_variations PASSED [ 39%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_mit_license_not_copyright_only PASSED [ 39%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_apache_license_not_copyright_only PASSED [ 40%]
test_p010.py::TestCheckCopyrightOnlyLicense::test_line_count_threshold PASSED [ 40%]
test_p010.py::TestDetectCopyrightOnlyLicense::test_detect_copyright_only_scenarios[somef_data0-test_repo.json-False-False] PASSED [ 40%]
test_p010.py::TestDetectCopyrightOnlyLicense::test_detect_copyright_only_scenarios[somef_data1-test_repo.json-True-True] PASSED [ 40%]
test_p010.py::TestDetectCopyrightOnlyLicense::test_detect_copyright_only_scenarios[somef_data2-test_repo.json-False-False] PASSED [ 40%]
test_p010.py::TestDetectCopyrightOnlyLicense::test_detect_copyright_only_scenarios[somef_data3-test_repo.json-False-False] PASSED [ 40%]
test_p010.py::TestDetectCopyrightOnlyLicense::test_detect_copyright_only_scenarios[somef_data4-test_repo.json-True-True] PASSED [ 40%]
test_p010.py::TestDetectCopyrightOnlyLicense::test_detect_copyright_only_scenarios[somef_data5-test_repo.json-True-True] PASSED [ 40%]
test_p010.py::TestDetectCopyrightOnlyLicense::test_result_structure PASSED [ 40%]
test_p010.py::TestDetectCopyrightOnlyLicense::test_various_license_file_names PASSED [ 40%]
test_p010.py::TestDetectCopyrightOnlyLicense::test_full_license_examples PASSED [ 40%]
test_p010.py::TestDetectCopyrightOnlyLicense::test_empty_license_content PASSED [ 40%]
test_p010.py::TestDetectCopyrightOnlyLicense::test_license_source_populated PASSED [ 40%]
test_p011.py::TestIsUrlAccessible::test_successful_head_request PASSED   [ 40%]
test_p011.py::TestIsUrlAccessible::test_head_not_allowed_fallback_to_get PASSED [ 41%]
test_p011.py::TestIsUrlAccessible::test_redirect_status_codes PASSED     [ 41%]
test_p011.py::TestIsUrlAccessible::test_error_status_codes PASSED        [ 41%]
test_p011.py::TestIsUrlAccessible::test_request_exception PASSED         [ 41%]
test_p011.py::TestIsUrlAccessible::test_timeout_exception PASSED         [ 41%]
test_p011.py::TestIsUrlAccessible::test_general_exception PASSED         [ 41%]
test_p011.py::TestIsUrlAccessible::test_whitespace_handling PASSED       [ 41%]
test_p011.py::TestIsUrlAccessible::test_custom_timeout PASSED            [ 41%]
test_p011.py::TestDetectIssueTrackerFormatPitfall::test_detect_issue_tracker_scenarios_without_url_check[somef_data0-test_repo.json-False-None] PASSED [ 41%]
test_p011.py::TestDetectIssueTrackerFormatPitfall::test_detect_issue_tracker_scenarios_without_url_check[somef_data1-test_repo.json-False-None] PASSED [ 41%]
test_p011.py::TestDetectIssueTrackerFormatPitfall::test_detect_issue_tracker_scenarios_without_url_check[somef_data2-test_repo.json-False-None] PASSED [ 41%]
test_p011.py::TestDetectIssueTrackerFormatPitfall::test_detect_issue_tracker_scenarios_without_url_check[somef_data3-test_repo.json-False-None] PASSED [ 41%]
test_p011.py::TestDetectIssueTrackerFormatPitfall::test_detect_issue_tracker_scenarios_without_url_check[somef_data4-test_repo.json-False-None] PASSED [ 41%]
test_p011.py::TestDetectIssueTrackerFormatPitfall::test_detect_issue_tracker_scenarios_without_url_check[somef_data5-test_repo.json-False-None] PASSED [ 42%]
test_p011.py::TestDetectIssueTrackerFormatPitfall::test_accessible_url_no_pitfall PASSED [ 42%]
test_p011.py::TestDetectIssueTrackerFormatPitfall::test_inaccessible_url_has_pitfall PASSED [ 42%]
test_p011.py::TestDetectIssueTrackerFormatPitfall::test_result_structure PASSED [ 42%]
test_p011.py::TestDetectIssueTrackerFormatPitfall::test_case_insensitive_codemeta_matching PASSED [ 42%]
test_p011.py::TestDetectIssueTrackerFormatPitfall::test_code_parser_with_codemeta_in_source PASSED [ 42%]
test_p011.py::TestDetectIssueTrackerFormatPitfall::test_stops_at_first_match PASSED [ 42%]
test_p011.py::TestDetectIssueTrackerFormatPitfall::test_multiple_entries_first_non_codemeta PASSED [ 42%]
test_p011.py::TestDetectIssueTrackerFormatPitfall::test_various_issue_tracker_urls PASSED [ 42%]
test_p011.py::TestDetectIssueTrackerFormatPitfall::test_wrong_technique_no_pitfall PASSED [ 42%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_extract_version_scenarios[https:/github.com/user/repo/archive/3.8.0.tar.gz-3.8.0] PASSED [ 42%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_extract_version_scenarios[https:/github.com/user/repo/archive/v1.2.3.tar.gz-1.2.3] PASSED [ 42%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_extract_version_scenarios[https:/github.com/user/repo/archive/2.0.tar.gz-2.0] PASSED [ 42%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_extract_version_scenarios[https:/github.com/user/repo/archive/v4.5.6.zip-4.5.6] PASSED [ 42%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_extract_version_scenarios[https:/github.com/user/repo/archive/1.2.3-beta.tar.gz-1.2.3-beta] PASSED [ 43%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_extract_version_scenarios[https:/github.com/user/repo/archive/v2.0.0-rc1.zip-2.0.0-rc1] PASSED [ 43%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_extract_version_scenarios[https:/example.com/downloads/package-3.8.0.tar.gz-3.8.0] PASSED [ 43%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_extract_version_scenarios[https:/example.com/downloads/package_1.2.3.zip-1.2.3] PASSED [ 43%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_extract_version_scenarios[https:/example.com/releases/3.8.0/package.tar.gz-3.8.0] PASSED [ 43%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_extract_version_scenarios[https:/example.com/downloads/v1.2.3/file.zip-1.2.3] PASSED [ 43%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_extract_version_scenarios[https:/github.com/user/repo/archive/main.tar.gz-None] PASSED [ 43%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_extract_version_scenarios[https:/example.com/downloads/package.tar.gz-None] PASSED [ 43%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_extract_version_scenarios[https:/example.com/file.zip-None] PASSED [ 43%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_extract_version_scenarios[-None] PASSED [ 43%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_extract_version_scenarios[None-None] PASSED [ 43%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_extract_version_scenarios[https:/github.com/user/repo/archive/1.0.0.dev1.tar.gz-1.0.0.dev1] PASSED [ 43%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_extract_version_scenarios[https:/github.com/user/repo/archive/2.3.4.post5.zip-2.3.4.post5] PASSED [ 43%]
test_p012.py::TestExtractVersionFromDownloadUrl::test_version_patterns_priority PASSED [ 43%]
test_p012.py::TestNormalizeVersion::test_normalize_version_scenarios[v1.2.3-1.2.3] PASSED [ 44%]
test_p012.py::TestNormalizeVersion::test_normalize_version_scenarios[V2.0.0-2.0.0] PASSED [ 44%]
test_p012.py::TestNormalizeVersion::test_normalize_version_scenarios[v3.8.0-3.8.0] PASSED [ 44%]
test_p012.py::TestNormalizeVersion::test_normalize_version_scenarios[1.2.3-1.2.3] PASSED [ 44%]
test_p012.py::TestNormalizeVersion::test_normalize_version_scenarios[2.0.0-2.0.0] PASSED [ 44%]
test_p012.py::TestNormalizeVersion::test_normalize_version_scenarios[3.8.0-3.8.0] PASSED [ 44%]
test_p012.py::TestNormalizeVersion::test_normalize_version_scenarios[  v1.2.3  -1.2.3] PASSED [ 44%]
test_p012.py::TestNormalizeVersion::test_normalize_version_scenarios[  2.0.0  -2.0.0] PASSED [ 44%]
test_p012.py::TestNormalizeVersion::test_normalize_version_scenarios[-None] PASSED [ 44%]
test_p012.py::TestNormalizeVersion::test_normalize_version_scenarios[None-None] PASSED [ 44%]
test_p012.py::TestNormalizeVersion::test_normalize_version_scenarios[v1.0.0-beta-1.0.0-beta] PASSED [ 44%]
test_p012.py::TestNormalizeVersion::test_normalize_version_scenarios[2.3.4.post5-2.3.4.post5] PASSED [ 44%]
test_p012.py::TestNormalizeVersion::test_case_insensitivity PASSED       [ 44%]
test_p012.py::TestGetLatestReleaseVersion::test_get_latest_release_scenarios[somef_data0-None] PASSED [ 45%]
test_p012.py::TestGetLatestReleaseVersion::test_get_latest_release_scenarios[somef_data1-None] PASSED [ 45%]
test_p012.py::TestGetLatestReleaseVersion::test_get_latest_release_scenarios[somef_data2-None] PASSED [ 45%]
test_p012.py::TestGetLatestReleaseVersion::test_get_latest_release_scenarios[somef_data3-3.8.0] PASSED [ 45%]
test_p012.py::TestGetLatestReleaseVersion::test_get_latest_release_scenarios[somef_data4-1.2.3] PASSED [ 45%]
test_p012.py::TestGetLatestReleaseVersion::test_get_latest_release_scenarios[somef_data5-2.0.0] PASSED [ 45%]
test_p012.py::TestGetLatestReleaseVersion::test_get_latest_release_scenarios[somef_data6-1.5.0] PASSED [ 45%]
test_p012.py::TestGetLatestReleaseVersion::test_get_latest_release_scenarios[somef_data7-3.0.0] PASSED [ 45%]
test_p012.py::TestGetLatestReleaseVersion::test_get_latest_release_scenarios[somef_data8-None] PASSED [ 45%]
test_p012.py::TestGetLatestReleaseVersion::test_get_latest_release_scenarios[somef_data9-None] PASSED [ 45%]
test_p012.py::TestGetLatestReleaseVersion::test_whitespace_handling PASSED [ 45%]
test_p012.py::TestDetectOutdatedDownloadUrlPitfall::test_detect_outdated_download_url_scenarios[somef_data0-test_repo.json-False-None-None] PASSED [ 45%]
test_p012.py::TestDetectOutdatedDownloadUrlPitfall::test_detect_outdated_download_url_scenarios[somef_data1-test_repo.json-False-None-None] PASSED [ 45%]
test_p012.py::TestDetectOutdatedDownloadUrlPitfall::test_detect_outdated_download_url_scenarios[somef_data2-test_repo.json-False-None-None] PASSED [ 45%]
test_p012.py::TestDetectOutdatedDownloadUrlPitfall::test_detect_outdated_download_url_scenarios[somef_data3-test_repo.json-False-None-None] PASSED [ 46%]
test_p012.py::TestDetectOutdatedDownloadUrlPitfall::test_detect_outdated_download_url_scenarios[somef_data4-test_repo.json-False-None-None] PASSED [ 46%]
test_p012.py::TestDetectOutdatedDownloadUrlPitfall::test_detect_outdated_download_url_scenarios[somef_data5-test_repo.json-False-None-None] PASSED [ 46%]
test_p012.py::TestDetectOutdatedDownloadUrlPitfall::test_detect_outdated_download_url_scenarios[somef_data6-test_repo.json-False-None-None] PASSED [ 46%]
test_p012.py::TestDetectOutdatedDownloadUrlPitfall::test_detect_outdated_download_url_scenarios[somef_data7-test_repo.json-False-None-None] PASSED [ 46%]
test_p012.py::TestDetectOutdatedDownloadUrlPitfall::test_detect_outdated_download_url_scenarios[somef_data8-test_repo.json-False-None-None] PASSED [ 46%]
test_p012.py::TestDetectOutdatedDownloadUrlPitfall::test_detect_outdated_download_url_scenarios[somef_data9-test_repo.json-False-None-None] PASSED [ 46%]
test_p012.py::TestDetectOutdatedDownloadUrlPitfall::test_result_structure PASSED [ 46%]
test_p012.py::TestDetectOutdatedDownloadUrlPitfall::test_version_normalization_matching PASSED [ 46%]
test_p012.py::TestDetectOutdatedDownloadUrlPitfall::test_multiple_download_entries PASSED [ 46%]
test_p012.py::TestDetectOutdatedDownloadUrlPitfall::test_complex_version_formats PASSED [ 46%]
test_p012.py::TestDetectOutdatedDownloadUrlPitfall::test_source_matching_variations PASSED [ 46%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data0-test_repo.json-False-None-None] PASSED [ 46%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data1-test_repo.json-False-None-None] PASSED [ 46%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data2-test_repo.json-False-None-None] PASSED [ 47%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data3-test_repo.json-True-GPL-codemeta.json] PASSED [ 47%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data4-test_repo.json-False-None-None] PASSED [ 47%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data5-test_repo.json-True-LGPL-package.json] PASSED [ 47%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data6-test_repo.json-False-None-None] PASSED [ 47%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data7-test_repo.json-True-AGPL-pyproject.toml] PASSED [ 47%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data8-test_repo.json-False-None-None] PASSED [ 47%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data9-test_repo.json-True-BSD-DESCRIPTION] PASSED [ 47%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data10-test_repo.json-False-None-None] PASSED [ 47%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data11-test_repo.json-True-CC BY-codemeta.json] PASSED [ 47%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data12-test_repo.json-False-None-None] PASSED [ 47%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data13-test_repo.json-False-None-None] PASSED [ 47%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data14-test_repo.json-False-None-None] PASSED [ 47%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data15-test_repo.json-False-None-None] PASSED [ 48%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data16-test_repo.json-True-gpl-codemeta.json] PASSED [ 48%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data17-test_repo.json-False-None-None] PASSED [ 48%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data18-test_repo.json-False-None-None] PASSED [ 48%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data19-test_repo.json-False-None-None] PASSED [ 48%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data20-test_repo.json-False-None-None] PASSED [ 48%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data21-test_repo.json-False-None-None] PASSED [ 48%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_detect_license_no_version_scenarios[somef_data22-test_repo.json-True-GPL-codemeta.json] PASSED [ 48%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_result_structure PASSED [ 48%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_all_metadata_sources[codemeta.json] PASSED [ 48%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_all_metadata_sources[DESCRIPTION] PASSED [ 48%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_all_metadata_sources[composer.json] PASSED [ 48%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_all_metadata_sources[package.json] PASSED [ 48%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_all_metadata_sources[pom.xml] PASSED [ 48%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_all_metadata_sources[pyproject.toml] PASSED [ 49%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_all_metadata_sources[requirements.txt] PASSED [ 49%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_all_metadata_sources[setup.py] PASSED [ 49%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_license_with_and_without_version[GPL-version_pattern0] PASSED [ 49%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_license_with_and_without_version[LGPL-version_pattern1] PASSED [ 49%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_license_with_and_without_version[AGPL-version_pattern2] PASSED [ 49%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_license_with_and_without_version[BSD-version_pattern3] PASSED [ 49%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_license_with_and_without_version[CC BY-version_pattern4] PASSED [ 49%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_licenses_without_version_requirements[MIT] PASSED [ 49%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_licenses_without_version_requirements[ISC] PASSED [ 49%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_licenses_without_version_requirements[Unlicense] PASSED [ 49%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_licenses_without_version_requirements[0BSD] PASSED [ 49%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_licenses_without_version_requirements[Public Domain] PASSED [ 49%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_case_insensitivity PASSED [ 50%]
test_p013.py::TestDetectLicenseNoVersionPitfall::test_stops_at_first_match PASSED [ 50%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[doi:10.1234/example-True] PASSED [ 50%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[doi:10.5555/repo.v1-True] PASSED [ 50%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[10.1234/example-True] PASSED [ 50%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[10.5555/repo.v1-True] PASSED [ 50%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[10.1000/xyz123-True] PASSED [ 50%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[  doi:10.1234/example  -True] PASSED [ 50%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[  10.1234/example  -True] PASSED [ 50%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[https:/doi.org/10.1234/example-False] PASSED [ 50%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[https:/doi.org/10.5555/repo-False] PASSED [ 50%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[HTTPS:/DOI.ORG/10.1234/example-False] PASSED [ 50%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[doi:example-False] PASSED [ 50%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[10.example-False] PASSED [ 50%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[doi:10-False] PASSED [ 51%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[10-False] PASSED [ 51%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[not-a-doi-False] PASSED [ 51%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[example.com/10.1234-False] PASSED [ 51%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[-False] PASSED   [ 51%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[   -False] PASSED [ 51%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[None-False] PASSED [ 51%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[doi:10.1/a-True] PASSED [ 51%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[10.999999/test-True] PASSED [ 51%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[doi:10.12345/very-long-suffix-True] PASSED [ 51%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[123-False] PASSED [ 51%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[identifier23-False] PASSED [ 51%]
test_p014.py::TestIsBareDoi::test_is_bare_doi_scenarios[identifier24-False] PASSED [ 51%]
test_p014.py::TestIsBareDoi::test_various_doi_prefixes PASSED            [ 51%]
test_p014.py::TestIsBareDoi::test_complex_doi_suffixes PASSED            [ 52%]
test_p014.py::TestDetectBareDOIPitfall::test_detect_bare_doi_scenarios[somef_data0-test_repo.json-False-None-False] PASSED [ 52%]
test_p014.py::TestDetectBareDOIPitfall::test_detect_bare_doi_scenarios[somef_data1-test_repo.json-False-None-False] PASSED [ 52%]
test_p014.py::TestDetectBareDOIPitfall::test_detect_bare_doi_scenarios[somef_data2-test_repo.json-False-None-False] PASSED [ 52%]
test_p014.py::TestDetectBareDOIPitfall::test_detect_bare_doi_scenarios[somef_data3-test_repo.json-False-None-False] PASSED [ 52%]
test_p014.py::TestDetectBareDOIPitfall::test_detect_bare_doi_scenarios[somef_data4-test_repo.json-True-doi:10.1234/example-True] PASSED [ 52%]
test_p014.py::TestDetectBareDOIPitfall::test_detect_bare_doi_scenarios[somef_data5-test_repo.json-True-10.1234/example-True] PASSED [ 52%]
test_p014.py::TestDetectBareDOIPitfall::test_detect_bare_doi_scenarios[somef_data6-test_repo.json-False-None-False] PASSED [ 52%]
test_p014.py::TestDetectBareDOIPitfall::test_detect_bare_doi_scenarios[somef_data7-test_repo.json-True-10.5555/repo-True] PASSED [ 52%]
test_p014.py::TestDetectBareDOIPitfall::test_detect_bare_doi_scenarios[somef_data8-test_repo.json-True-doi:10.1234/test-True] PASSED [ 52%]
test_p014.py::TestDetectBareDOIPitfall::test_detect_bare_doi_scenarios[somef_data9-test_repo.json-True-10.1234/example-True] PASSED [ 52%]
test_p014.py::TestDetectBareDOIPitfall::test_detect_bare_doi_scenarios[somef_data10-test_repo.json-False-None-False] PASSED [ 52%]
test_p014.py::TestDetectBareDOIPitfall::test_detect_bare_doi_scenarios[somef_data11-test_repo.json-False-None-False] PASSED [ 52%]
test_p014.py::TestDetectBareDOIPitfall::test_detect_bare_doi_scenarios[somef_data12-test_repo.json-False-None-False] PASSED [ 53%]
test_p014.py::TestDetectBareDOIPitfall::test_detect_bare_doi_scenarios[somef_data13-test_repo.json-False-None-False] PASSED [ 53%]
test_p014.py::TestDetectBareDOIPitfall::test_detect_bare_doi_scenarios[somef_data14-test_repo.json-True-doi:10.12345/dataset.2023.v1-True] PASSED [ 53%]
test_p014.py::TestDetectBareDOIPitfall::test_result_structure PASSED     [ 53%]
test_p014.py::TestDetectBareDOIPitfall::test_stops_at_first_match PASSED [ 53%]
test_p014.py::TestDetectBareDOIPitfall::test_various_bare_doi_formats[doi:10.1234/example] PASSED [ 53%]
test_p014.py::TestDetectBareDOIPitfall::test_various_bare_doi_formats[10.1234/example] PASSED [ 53%]
test_p014.py::TestDetectBareDOIPitfall::test_various_bare_doi_formats[doi:10.5555/repo.v1] PASSED [ 53%]
test_p014.py::TestDetectBareDOIPitfall::test_various_bare_doi_formats[10.9999/dataset-2023] PASSED [ 53%]
test_p014.py::TestDetectBareDOIPitfall::test_various_bare_doi_formats[doi:10.1000/test_paper] PASSED [ 53%]
test_p014.py::TestDetectBareDOIPitfall::test_full_doi_urls_no_pitfall[https:/doi.org/10.1234/example] PASSED [ 53%]
test_p014.py::TestDetectBareDOIPitfall::test_full_doi_urls_no_pitfall[https:/doi.org/10.5555/repo] PASSED [ 53%]
test_p014.py::TestDetectBareDOIPitfall::test_full_doi_urls_no_pitfall[HTTPS:/DOI.ORG/10.9999/test] PASSED [ 53%]
test_p014.py::TestDetectBareDOIPitfall::test_source_variations PASSED    [ 53%]
test_p014.py::TestDetectBareDOIPitfall::test_technique_filtering[code_parser] PASSED [ 54%]
test_p014.py::TestDetectBareDOIPitfall::test_technique_filtering[header_analysis] PASSED [ 54%]
test_p014.py::TestDetectBareDOIPitfall::test_technique_filtering[github_api] PASSED [ 54%]
test_p014.py::TestDetectBareDOIPitfall::test_non_string_identifier_value PASSED [ 54%]
test_p015.py::TestIsValidUrlFormat::test_url_format_validation[https:/github.com/user/repo-True] PASSED [ 54%]
test_p015.py::TestIsValidUrlFormat::test_url_format_validation[http:/example.com-True] PASSED [ 54%]
test_p015.py::TestIsValidUrlFormat::test_url_format_validation[https:/travis-ci.org/user/repo-True] PASSED [ 54%]
test_p015.py::TestIsValidUrlFormat::test_url_format_validation[ftp:/files.example.com-True] PASSED [ 54%]
test_p015.py::TestIsValidUrlFormat::test_url_format_validation[not-a-url-False] PASSED [ 54%]
test_p015.py::TestIsValidUrlFormat::test_url_format_validation[-False] PASSED [ 54%]
test_p015.py::TestIsValidUrlFormat::test_url_format_validation[github.com-False] PASSED [ 54%]
test_p015.py::TestIsValidUrlFormat::test_url_format_validation[:/invalid-False] PASSED [ 54%]
test_p015.py::TestIsValidUrlFormat::test_url_format_validation[https:/-False] PASSED [ 54%]
test_p015.py::TestCheckCiUrlStatus::test_valid_url_success PASSED        [ 54%]
test_p015.py::TestCheckCiUrlStatus::test_valid_url_404 PASSED            [ 55%]
test_p015.py::TestCheckCiUrlStatus::test_various_status_codes[200-True] PASSED [ 55%]
test_p015.py::TestCheckCiUrlStatus::test_various_status_codes[201-True] PASSED [ 55%]
test_p015.py::TestCheckCiUrlStatus::test_various_status_codes[204-True] PASSED [ 55%]
test_p015.py::TestCheckCiUrlStatus::test_various_status_codes[299-True] PASSED [ 55%]
test_p015.py::TestCheckCiUrlStatus::test_various_status_codes[300-False] PASSED [ 55%]
test_p015.py::TestCheckCiUrlStatus::test_various_status_codes[301-True] PASSED [ 55%]
test_p015.py::TestCheckCiUrlStatus::test_various_status_codes[302-True] PASSED [ 55%]
test_p015.py::TestCheckCiUrlStatus::test_various_status_codes[400-False] PASSED [ 55%]
test_p015.py::TestCheckCiUrlStatus::test_various_status_codes[401-False] PASSED [ 55%]
test_p015.py::TestCheckCiUrlStatus::test_various_status_codes[403-False] PASSED [ 55%]
test_p015.py::TestCheckCiUrlStatus::test_various_status_codes[404-False] PASSED [ 55%]
test_p015.py::TestCheckCiUrlStatus::test_various_status_codes[500-False] PASSED [ 55%]
test_p015.py::TestCheckCiUrlStatus::test_various_status_codes[503-False] PASSED [ 56%]
test_p015.py::TestCheckCiUrlStatus::test_invalid_url_format PASSED       [ 56%]
test_p015.py::TestCheckCiUrlStatus::test_request_timeout PASSED          [ 56%]
test_p015.py::TestCheckCiUrlStatus::test_network_error PASSED            [ 56%]
test_p015.py::TestDetectCi404Pitfall::test_detect_ci_404_scenarios[somef_data0-test_repo.json-False-None-None] PASSED [ 56%]
test_p015.py::TestDetectCi404Pitfall::test_detect_ci_404_scenarios[somef_data1-test_repo.json-False-None-None] PASSED [ 56%]
test_p015.py::TestDetectCi404Pitfall::test_detect_ci_404_scenarios[somef_data2-test_repo.json-False-None-None] PASSED [ 56%]
test_p015.py::TestDetectCi404Pitfall::test_detect_ci_404_scenarios[somef_data3-test_repo.json-True-https:/travis-ci.org/user/repo-404] PASSED [ 56%]
test_p015.py::TestDetectCi404Pitfall::test_detect_ci_404_scenarios[somef_data4-test_repo.json-False-None-None] PASSED [ 56%]
test_p015.py::TestDetectCi404Pitfall::test_detect_ci_404_scenarios[somef_data5-test_repo.json-False-None-None] PASSED [ 56%]
test_p015.py::TestDetectCi404Pitfall::test_detect_ci_404_scenarios[somef_data6-test_repo.json-False-None-None] PASSED [ 56%]
test_p015.py::TestDetectCi404Pitfall::test_detect_ci_404_scenarios[somef_data7-test_repo.json-False-None-None] PASSED [ 56%]
test_p015.py::TestDetectCi404Pitfall::test_detect_ci_404_scenarios[somef_data8-test_repo.json-True-not-a-valid-url-None] PASSED [ 56%]
test_p015.py::TestDetectCi404Pitfall::test_result_structure PASSED       [ 56%]
test_p015.py::TestDetectCi404Pitfall::test_codemeta_lowercase_source PASSED [ 57%]
test_p015.py::TestDetectCi404Pitfall::test_stops_at_first_inaccessible PASSED [ 57%]
test_p015.py::TestDetectCi404Pitfall::test_multiple_ci_sources_mixed PASSED [ 57%]
test_p015.py::TestDetectCi404Pitfall::test_various_error_status_codes[401] PASSED [ 57%]
test_p015.py::TestDetectCi404Pitfall::test_various_error_status_codes[403] PASSED [ 57%]
test_p015.py::TestDetectCi404Pitfall::test_various_error_status_codes[500] PASSED [ 57%]
test_p015.py::TestDetectCi404Pitfall::test_various_error_status_codes[502] PASSED [ 57%]
test_p015.py::TestDetectCi404Pitfall::test_various_error_status_codes[503] PASSED [ 57%]
test_p016.py::TestNormalizeRepositoryUrl::test_url_normalization[https:/github.com/user/repo-https:/github.com/user/repo0] PASSED [ 57%]
test_p016.py::TestNormalizeRepositoryUrl::test_url_normalization[https:/github.com/user/repo.git-https:/github.com/user/repo] PASSED [ 57%]
test_p016.py::TestNormalizeRepositoryUrl::test_url_normalization[https:/github.com/user/repo/-https:/github.com/user/repo] PASSED [ 57%]
test_p016.py::TestNormalizeRepositoryUrl::test_url_normalization[https:/github.com/user/repo.git/-https:/github.com/user/repo] PASSED [ 57%]
test_p016.py::TestNormalizeRepositoryUrl::test_url_normalization[git+https:/github.com/user/repo-https:/github.com/user/repo] PASSED [ 57%]
test_p016.py::TestNormalizeRepositoryUrl::test_url_normalization[git+https:/github.com/user/repo.git-https:/github.com/user/repo] PASSED [ 57%]
test_p016.py::TestNormalizeRepositoryUrl::test_url_normalization[git@github.com:user/repo-https:/github.com/user/repo] PASSED [ 58%]
test_p016.py::TestNormalizeRepositoryUrl::test_url_normalization[git@github.com:user/repo.git-https:/github.com/user/repo] PASSED [ 58%]
test_p016.py::TestNormalizeRepositoryUrl::test_url_normalization[git@gitlab.com:user/repo-https:/gitlab.com/user/repo] PASSED [ 58%]
test_p016.py::TestNormalizeRepositoryUrl::test_url_normalization[HTTPS:/GITHUB.COM/USER/REPO-https:/github.com/user/repo] PASSED [ 58%]
test_p016.py::TestNormalizeRepositoryUrl::test_url_normalization[Git@GitHub.com:User/Repo-https:/github.com/user/repo] PASSED [ 58%]
test_p016.py::TestNormalizeRepositoryUrl::test_url_normalization[-] PASSED [ 58%]
test_p016.py::TestNormalizeRepositoryUrl::test_url_normalization[None-] PASSED [ 58%]
test_p016.py::TestNormalizeRepositoryUrl::test_url_normalization[http:/github.com/user/repo-http:/github.com/user/repo] PASSED [ 58%]
test_p016.py::TestNormalizeRepositoryUrl::test_url_normalization[https:/github.com/user/repo-https:/github.com/user/repo1] PASSED [ 58%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_detect_different_repository_scenarios[somef_data0-test_repo.json-False-None-0] PASSED [ 58%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_detect_different_repository_scenarios[somef_data1-test_repo.json-False-None-0] PASSED [ 58%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_detect_different_repository_scenarios[somef_data2-test_repo.json-False-None-0] PASSED [ 58%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_detect_different_repository_scenarios[somef_data3-test_repo.json-False-None-0] PASSED [ 58%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_detect_different_repository_scenarios[somef_data4-test_repo.json-False-None-0] PASSED [ 59%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_detect_different_repository_scenarios[somef_data5-test_repo.json-True-https:/github.com/user/repo1-1] PASSED [ 59%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_detect_different_repository_scenarios[somef_data6-test_repo.json-False-None-0] PASSED [ 59%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_detect_different_repository_scenarios[somef_data7-test_repo.json-False-None-0] PASSED [ 59%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_detect_different_repository_scenarios[somef_data8-test_repo.json-False-None-0] PASSED [ 59%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_detect_different_repository_scenarios[somef_data9-test_repo.json-False-None-0] PASSED [ 59%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_detect_different_repository_scenarios[somef_data10-test_repo.json-False-None-0] PASSED [ 59%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_detect_different_repository_scenarios[somef_data11-test_repo.json-True-https:/github.com/user/repo1-2] PASSED [ 59%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_result_structure PASSED [ 59%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_case_insensitive_matching PASSED [ 59%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_git_prefix_normalization PASSED [ 59%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_codemeta_lowercase_source_detection PASSED [ 59%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_non_codemeta_metadata_ignored PASSED [ 59%]
test_p016.py::TestDetectDifferentRepositoryPitfall::test_different_hosts PASSED [ 59%]
test_p017.py::TestGetCodemetaVersion::test_get_codemeta_version_scenarios[somef_data0-None] PASSED [ 60%]
test_p017.py::TestGetCodemetaVersion::test_get_codemeta_version_scenarios[somef_data1-None] PASSED [ 60%]
test_p017.py::TestGetCodemetaVersion::test_get_codemeta_version_scenarios[somef_data2-None] PASSED [ 60%]
test_p017.py::TestGetCodemetaVersion::test_get_codemeta_version_scenarios[somef_data3-1.2.3] PASSED [ 60%]
test_p017.py::TestGetCodemetaVersion::test_get_codemeta_version_scenarios[somef_data4-2.0.0] PASSED [ 60%]
test_p017.py::TestGetCodemetaVersion::test_get_codemeta_version_scenarios[somef_data5-1.2.3] PASSED [ 60%]
test_p017.py::TestGetCodemetaVersion::test_get_codemeta_version_scenarios[somef_data6-None] PASSED [ 60%]
test_p017.py::TestGetCodemetaVersion::test_get_codemeta_version_scenarios[somef_data7-None] PASSED [ 60%]
test_p017.py::TestGetCodemetaVersion::test_get_codemeta_version_scenarios[somef_data8-None] PASSED [ 60%]
test_p017.py::TestGetOtherMetadataVersions::test_no_version_key PASSED   [ 60%]
test_p017.py::TestGetOtherMetadataVersions::test_version_not_list PASSED [ 60%]
test_p017.py::TestGetOtherMetadataVersions::test_empty_version_list PASSED [ 60%]
test_p017.py::TestGetOtherMetadataVersions::test_single_metadata_version PASSED [ 60%]
test_p017.py::TestGetOtherMetadataVersions::test_multiple_metadata_versions PASSED [ 60%]
test_p017.py::TestGetOtherMetadataVersions::test_excludes_codemeta_version PASSED [ 61%]
test_p017.py::TestGetOtherMetadataVersions::test_all_metadata_sources[repository/DESCRIPTION] PASSED [ 61%]
test_p017.py::TestGetOtherMetadataVersions::test_all_metadata_sources[repository/composer.json] PASSED [ 61%]
test_p017.py::TestGetOtherMetadataVersions::test_all_metadata_sources[repository/package.json] PASSED [ 61%]
test_p017.py::TestGetOtherMetadataVersions::test_all_metadata_sources[repository/pom.xml] PASSED [ 61%]
test_p017.py::TestGetOtherMetadataVersions::test_all_metadata_sources[repository/pyproject.toml] PASSED [ 61%]
test_p017.py::TestGetOtherMetadataVersions::test_all_metadata_sources[repository/requirements.txt] PASSED [ 61%]
test_p017.py::TestGetOtherMetadataVersions::test_all_metadata_sources[repository/setup.py] PASSED [ 61%]
test_p017.py::TestDetectCodemetaVersionMismatchPitfall::test_detect_version_mismatch_scenarios[somef_data0-test_repo.json-False-None-0] PASSED [ 61%]
test_p017.py::TestDetectCodemetaVersionMismatchPitfall::test_detect_version_mismatch_scenarios[somef_data1-test_repo.json-False-None-0] PASSED [ 61%]
test_p017.py::TestDetectCodemetaVersionMismatchPitfall::test_detect_version_mismatch_scenarios[somef_data2-test_repo.json-False-None-0] PASSED [ 61%]
test_p017.py::TestDetectCodemetaVersionMismatchPitfall::test_detect_version_mismatch_scenarios[somef_data3-test_repo.json-False-None-0] PASSED [ 61%]
test_p017.py::TestDetectCodemetaVersionMismatchPitfall::test_detect_version_mismatch_scenarios[somef_data4-test_repo.json-True-1.0.0-1] PASSED [ 61%]
test_p017.py::TestDetectCodemetaVersionMismatchPitfall::test_detect_version_mismatch_scenarios[somef_data5-test_repo.json-True-1.0.0-2] PASSED [ 62%]
test_p017.py::TestDetectCodemetaVersionMismatchPitfall::test_detect_version_mismatch_scenarios[somef_data6-test_repo.json-True-1.0.0-1] PASSED [ 62%]
test_p017.py::TestDetectCodemetaVersionMismatchPitfall::test_detect_version_mismatch_scenarios[somef_data7-test_repo.json-False-None-0] PASSED [ 62%]
test_p017.py::TestDetectCodemetaVersionMismatchPitfall::test_detect_version_mismatch_scenarios[somef_data8-test_repo.json-True-  1.0.0  -1] PASSED [ 62%]
test_p017.py::TestDetectCodemetaVersionMismatchPitfall::test_result_structure PASSED [ 62%]
test_p017.py::TestDetectCodemetaVersionMismatchPitfall::test_semantic_version_strict_comparison PASSED [ 62%]
test_p017.py::TestDetectCodemetaVersionMismatchPitfall::test_version_with_prefix PASSED [ 62%]
test_p017.py::TestDetectCodemetaVersionMismatchPitfall::test_case_sensitive_versions PASSED [ 62%]
test_p017.py::TestDetectCodemetaVersionMismatchPitfall::test_other_versions_includes_all_metadata PASSED [ 62%]
test_p017.py::TestDetectCodemetaVersionMismatchPitfall::test_all_other_versions_mismatch PASSED [ 62%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[swh:1:cnt:94a9ed024d3859793618152ea559a168bbcbb5e2-True] PASSED [ 62%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[swh:1:dir:d198bc9d7a6bcf6db04f476d29314f157507d505-True] PASSED [ 62%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[swh:1:rel:22ece559cc7cc2364edc5e5593d63ae8bd229f9f-True] PASSED [ 62%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[swh:1:rev:309cf2674ee7a0749978cf8265ab91a60aea0f7d-True] PASSED [ 62%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[swh:1:snp:1a8893e6a86f444e8be8e7bda6cb34fb1735a00e-True] PASSED [ 63%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[https:/archive.softwareheritage.org/swh:1:cnt:94a9ed024d3859793618152ea559a168bbcbb5e2-False] PASSED [ 63%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[http:/archive.softwareheritage.org/swh:1:dir:d198bc9d7a6bcf6db04f476d29314f157507d505-False] PASSED [ 63%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[swh:2:cnt:94a9ed024d3859793618152ea559a168bbcbb5e2-False] PASSED [ 63%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[swh:1:cnt:94a9ed024d3859-False] PASSED [ 63%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[swh:1:cnt:94a9ed024d3859793618152ea559a168bbcbb5e2extra-False] PASSED [ 63%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[swh:1:CNT:94a9ed024d3859793618152ea559a168bbcbb5e2-False] PASSED [ 63%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[swh:1:cnt:94A9ED024D3859793618152EA559A168BBCBB5E2-False] PASSED [ 63%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[-False] PASSED [ 63%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[None-False] PASSED [ 63%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[123-False] PASSED [ 63%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[identifier15-False] PASSED [ 63%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[  swh:1:cnt:94a9ed024d3859793618152ea559a168bbcbb5e2  -True] PASSED [ 63%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[ swh:1:cnt:94a9ed024d3859793618152ea559a168bbcbb5e2-True] PASSED [ 63%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[swh:1:cnt:94a9ed024d3859793618152ea559a168bbcbb5e2 -True] PASSED [ 64%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[https:/github.com/user/repo-False] PASSED [ 64%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[10.5281/zenodo.1234567-False] PASSED [ 64%]
test_p018.py::TestIsRawSwhid::test_is_raw_swhid_scenarios[random string-False] PASSED [ 64%]
test_p018.py::TestIsRawSwhid::test_all_valid_object_types PASSED         [ 64%]
test_p018.py::TestDetectRawSwhidPitfall::test_detect_raw_swhid_scenarios[somef_data0-test_repo.json-False-None-False] PASSED [ 64%]
test_p018.py::TestDetectRawSwhidPitfall::test_detect_raw_swhid_scenarios[somef_data1-test_repo.json-False-None-False] PASSED [ 64%]
test_p018.py::TestDetectRawSwhidPitfall::test_detect_raw_swhid_scenarios[somef_data2-test_repo.json-False-None-False] PASSED [ 64%]
test_p018.py::TestDetectRawSwhidPitfall::test_detect_raw_swhid_scenarios[somef_data3-test_repo.json-True-swh:1:cnt:94a9ed024d3859793618152ea559a168bbcbb5e2-True] PASSED [ 64%]
test_p018.py::TestDetectRawSwhidPitfall::test_detect_raw_swhid_scenarios[somef_data4-test_repo.json-False-None-False] PASSED [ 64%]
test_p018.py::TestDetectRawSwhidPitfall::test_detect_raw_swhid_scenarios[somef_data5-test_repo.json-False-None-False] PASSED [ 64%]
test_p018.py::TestDetectRawSwhidPitfall::test_detect_raw_swhid_scenarios[somef_data6-test_repo.json-False-None-False] PASSED [ 64%]
test_p018.py::TestDetectRawSwhidPitfall::test_detect_raw_swhid_scenarios[somef_data7-test_repo.json-False-None-False] PASSED [ 64%]
test_p018.py::TestDetectRawSwhidPitfall::test_detect_raw_swhid_scenarios[somef_data8-test_repo.json-False-None-False] PASSED [ 65%]
test_p018.py::TestDetectRawSwhidPitfall::test_detect_raw_swhid_scenarios[somef_data9-test_repo.json-True-swh:1:cnt:94a9ed024d3859793618152ea559a168bbcbb5e2-True] PASSED [ 65%]
test_p018.py::TestDetectRawSwhidPitfall::test_detect_raw_swhid_scenarios[somef_data10-test_repo.json-True-  swh:1:cnt:94a9ed024d3859793618152ea559a168bbcbb5e2  -True] PASSED [ 65%]
test_p018.py::TestDetectRawSwhidPitfall::test_result_structure PASSED    [ 65%]
test_p018.py::TestDetectRawSwhidPitfall::test_all_swhid_types_detected[cnt] PASSED [ 65%]
test_p018.py::TestDetectRawSwhidPitfall::test_all_swhid_types_detected[dir] PASSED [ 65%]
test_p018.py::TestDetectRawSwhidPitfall::test_all_swhid_types_detected[rel] PASSED [ 65%]
test_p018.py::TestDetectRawSwhidPitfall::test_all_swhid_types_detected[rev] PASSED [ 65%]
test_p018.py::TestDetectRawSwhidPitfall::test_all_swhid_types_detected[snp] PASSED [ 65%]
test_p018.py::TestDetectRawSwhidPitfall::test_codemeta_case_insensitive PASSED [ 65%]
test_p018.py::TestDetectRawSwhidPitfall::test_stops_at_first_raw_swhid PASSED [ 65%]
test_p018.py::TestDetectRawSwhidPitfall::test_mixed_sources_only_codemeta_checked PASSED [ 65%]
test_p018.py::TestDetectRawSwhidPitfall::test_http_vs_https_swhid_urls PASSED [ 65%]
test_p018.py::TestDetectRawSwhidPitfall::test_invalid_swhid_version PASSED [ 65%]
test_p018.py::TestDetectRawSwhidPitfall::test_invalid_hash_length PASSED [ 66%]
test_w001.py::TestExtractRequirementsFromMetadata::test_extract_requirements_scenarios[somef_data0-None] PASSED [ 66%]
test_w001.py::TestExtractRequirementsFromMetadata::test_extract_requirements_scenarios[somef_data1-None] PASSED [ 66%]
test_w001.py::TestExtractRequirementsFromMetadata::test_extract_requirements_scenarios[somef_data2-None] PASSED [ 66%]
test_w001.py::TestExtractRequirementsFromMetadata::test_extract_requirements_scenarios[somef_data3-None] PASSED [ 66%]
test_w001.py::TestExtractRequirementsFromMetadata::test_extract_requirements_scenarios[somef_data4-None] PASSED [ 66%]
test_w001.py::TestExtractRequirementsFromMetadata::test_extract_requirements_scenarios[somef_data5-expected5] PASSED [ 66%]
test_w001.py::TestExtractRequirementsFromMetadata::test_extract_requirements_scenarios[somef_data6-expected6] PASSED [ 66%]
test_w001.py::TestExtractRequirementsFromMetadata::test_extract_requirements_scenarios[somef_data7-expected7] PASSED [ 66%]
test_w001.py::TestExtractRequirementsFromMetadata::test_extract_requirements_scenarios[somef_data8-None] PASSED [ 66%]
test_w001.py::TestExtractRequirementsFromMetadata::test_extract_requirements_scenarios[somef_data9-expected9] PASSED [ 66%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement0-True] PASSED [ 66%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement1-True] PASSED [ 66%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement2-True] PASSED [ 66%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement3-False] PASSED [ 67%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement4-False] PASSED [ 67%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement5-True] PASSED [ 67%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement6-True] PASSED [ 67%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement7-True] PASSED [ 67%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement8-True] PASSED [ 67%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement9-True] PASSED [ 67%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement10-True] PASSED [ 67%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement11-True] PASSED [ 67%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement12-True] PASSED [ 67%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement13-True] PASSED [ 67%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement14-False] PASSED [ 67%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement15-False] PASSED [ 67%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement16-False] PASSED [ 68%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement17-False] PASSED [ 68%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement18-False] PASSED [ 68%]
test_w001.py::TestCheckRequirementHasVersion::test_version_detection_scenarios[requirement19-False] PASSED [ 68%]
test_w001.py::TestAnalyzeRequirementsVersions::test_analyze_requirements_scenarios[requirements_data0-1-0-expected_names0] PASSED [ 68%]
test_w001.py::TestAnalyzeRequirementsVersions::test_analyze_requirements_scenarios[requirements_data1-1-1-expected_names1] PASSED [ 68%]
test_w001.py::TestAnalyzeRequirementsVersions::test_analyze_requirements_scenarios[requirements_data2-3-0-expected_names2] PASSED [ 68%]
test_w001.py::TestAnalyzeRequirementsVersions::test_analyze_requirements_scenarios[requirements_data3-3-2-expected_names3] PASSED [ 68%]
test_w001.py::TestAnalyzeRequirementsVersions::test_analyze_requirements_scenarios[requirements_data4-3-3-expected_names4] PASSED [ 68%]
test_w001.py::TestAnalyzeRequirementsVersions::test_analyze_requirements_scenarios[requirements_data5-0-0-expected_names5] PASSED [ 68%]
test_w001.py::TestAnalyzeRequirementsVersions::test_analyze_requirements_scenarios[requirements_data6-3-1-expected_names6] PASSED [ 68%]
test_w001.py::TestAnalyzeRequirementsVersions::test_analyze_requirements_scenarios[requirements_data7-2-1-expected_names7] PASSED [ 68%]
test_w001.py::TestAnalyzeRequirementsVersions::test_analyze_requirements_scenarios[requirements_data8-0-0-expected_names8] PASSED [ 68%]
test_w001.py::TestDetectUnversionedRequirements::test_detect_unversioned_scenarios[somef_data0-test_repo.json-False-0-0-0.0] PASSED [ 68%]
test_w001.py::TestDetectUnversionedRequirements::test_detect_unversioned_scenarios[somef_data1-test_repo.json-False-2-0-0.0] PASSED [ 69%]
test_w001.py::TestDetectUnversionedRequirements::test_detect_unversioned_scenarios[somef_data2-test_repo.json-True-2-1-50.0] PASSED [ 69%]
test_w001.py::TestDetectUnversionedRequirements::test_detect_unversioned_scenarios[somef_data3-test_repo.json-True-3-3-100.0] PASSED [ 69%]
test_w001.py::TestDetectUnversionedRequirements::test_detect_unversioned_scenarios[somef_data4-test_repo.json-True-3-1-33.33] PASSED [ 69%]
test_w001.py::TestDetectUnversionedRequirements::test_result_structure PASSED [ 69%]
test_w001.py::TestDetectUnversionedRequirements::test_all_metadata_sources[codemeta.json] PASSED [ 69%]
test_w001.py::TestDetectUnversionedRequirements::test_all_metadata_sources[DESCRIPTION] PASSED [ 69%]
test_w001.py::TestDetectUnversionedRequirements::test_all_metadata_sources[composer.json] PASSED [ 69%]
test_w001.py::TestDetectUnversionedRequirements::test_all_metadata_sources[package.json] PASSED [ 69%]
test_w001.py::TestDetectUnversionedRequirements::test_all_metadata_sources[pom.xml] PASSED [ 69%]
test_w001.py::TestDetectUnversionedRequirements::test_all_metadata_sources[pyproject.toml] PASSED [ 69%]
test_w001.py::TestDetectUnversionedRequirements::test_all_metadata_sources[requirements.txt] PASSED [ 69%]
test_w001.py::TestDetectUnversionedRequirements::test_all_metadata_sources[setup.py] PASSED [ 69%]
test_w001.py::TestDetectUnversionedRequirements::test_all_version_operators[==] PASSED [ 69%]
test_w001.py::TestDetectUnversionedRequirements::test_all_version_operators[>=] PASSED [ 70%]
test_w001.py::TestDetectUnversionedRequirements::test_all_version_operators[<=] PASSED [ 70%]
test_w001.py::TestDetectUnversionedRequirements::test_all_version_operators[>] PASSED [ 70%]
test_w001.py::TestDetectUnversionedRequirements::test_all_version_operators[<] PASSED [ 70%]
test_w001.py::TestDetectUnversionedRequirements::test_all_version_operators[~=] PASSED [ 70%]
test_w001.py::TestDetectUnversionedRequirements::test_all_version_operators[!=] PASSED [ 70%]
test_w001.py::TestDetectUnversionedRequirements::test_all_version_operators[^] PASSED [ 70%]
test_w001.py::TestDetectUnversionedRequirements::test_all_version_operators[~] PASSED [ 70%]
test_w001.py::TestDetectUnversionedRequirements::test_percentage_calculation PASSED [ 70%]
test_w002.py::TestExtractGithubApiDateUpdated::test_extract_github_date_scenarios[somef_data0-None] PASSED [ 70%]
test_w002.py::TestExtractGithubApiDateUpdated::test_extract_github_date_scenarios[somef_data1-None] PASSED [ 70%]
test_w002.py::TestExtractGithubApiDateUpdated::test_extract_github_date_scenarios[somef_data2-None] PASSED [ 70%]
test_w002.py::TestExtractGithubApiDateUpdated::test_extract_github_date_scenarios[somef_data3-None] PASSED [ 70%]
test_w002.py::TestExtractGithubApiDateUpdated::test_extract_github_date_scenarios[somef_data4-None] PASSED [ 71%]
test_w002.py::TestExtractGithubApiDateUpdated::test_extract_github_date_scenarios[somef_data5-2025-02-05T18:00:24Z] PASSED [ 71%]
test_w002.py::TestExtractGithubApiDateUpdated::test_extract_github_date_scenarios[somef_data6-2025-02-05T18:00:24Z] PASSED [ 71%]
test_w002.py::TestExtractGithubApiDateUpdated::test_extract_github_date_scenarios[somef_data7-None] PASSED [ 71%]
test_w002.py::TestExtractGithubApiDateUpdated::test_extract_github_date_scenarios[somef_data8-None] PASSED [ 71%]
test_w002.py::TestExtractGithubApiDateUpdated::test_extract_github_date_scenarios[somef_data9-None] PASSED [ 71%]
test_w002.py::TestExtractCodemetaDateModified::test_extract_codemeta_date_scenarios[somef_data0-None] PASSED [ 71%]
test_w002.py::TestExtractCodemetaDateModified::test_extract_codemeta_date_scenarios[somef_data1-expected1] PASSED [ 71%]
test_w002.py::TestExtractCodemetaDateModified::test_extract_codemeta_date_scenarios[somef_data2-expected2] PASSED [ 71%]
test_w002.py::TestExtractCodemetaDateModified::test_extract_codemeta_date_scenarios[somef_data3-expected3] PASSED [ 71%]
test_w002.py::TestExtractCodemetaDateModified::test_extract_codemeta_date_scenarios[somef_data4-None] PASSED [ 71%]
test_w002.py::TestExtractCodemetaDateModified::test_extract_codemeta_date_scenarios[somef_data5-None] PASSED [ 71%]
test_w002.py::TestNormalizeDateForComparison::test_normalize_date_scenarios[2025-02-05T18:00:24Z-expected_date0] PASSED [ 71%]
test_w002.py::TestNormalizeDateForComparison::test_normalize_date_scenarios[2022-03-11T19:01:51.720Z-expected_date1] PASSED [ 71%]
test_w002.py::TestNormalizeDateForComparison::test_normalize_date_scenarios[2023-11-17-expected_date2] PASSED [ 72%]
test_w002.py::TestNormalizeDateForComparison::test_normalize_date_scenarios[2024-05-20T10:30:00-expected_date3] PASSED [ 72%]
test_w002.py::TestNormalizeDateForComparison::test_normalize_date_scenarios[2024-01-15T14:22:33.123456-expected_date4] PASSED [ 72%]
test_w002.py::TestNormalizeDateForComparison::test_normalize_date_scenarios[2023-12-25T00:00:00+00:00-expected_date5] PASSED [ 72%]
test_w002.py::TestNormalizeDateForComparison::test_normalize_date_scenarios[-None] PASSED [ 72%]
test_w002.py::TestNormalizeDateForComparison::test_normalize_date_scenarios[None-None] PASSED [ 72%]
test_w002.py::TestNormalizeDateForComparison::test_normalize_date_scenarios[not-a-date-None] PASSED [ 72%]
test_w002.py::TestNormalizeDateForComparison::test_normalize_date_scenarios[2024/01/01-None] PASSED [ 72%]
test_w002.py::TestNormalizeDateForComparison::test_normalize_date_scenarios[  2023-11-17  -expected_date10] PASSED [ 72%]
test_w002.py::TestCalculateDateDifferenceDays::test_calculate_difference_scenarios[date10-date20-0] PASSED [ 72%]
test_w002.py::TestCalculateDateDifferenceDays::test_calculate_difference_scenarios[date11-date21-1] PASSED [ 72%]
test_w002.py::TestCalculateDateDifferenceDays::test_calculate_difference_scenarios[date12-date22-1] PASSED [ 72%]
test_w002.py::TestCalculateDateDifferenceDays::test_calculate_difference_scenarios[date13-date23-7] PASSED [ 72%]
test_w002.py::TestCalculateDateDifferenceDays::test_calculate_difference_scenarios[date14-date24-31] PASSED [ 72%]
test_w002.py::TestCalculateDateDifferenceDays::test_calculate_difference_scenarios[date15-date25-366] PASSED [ 73%]
test_w002.py::TestCalculateDateDifferenceDays::test_calculate_difference_scenarios[date16-date26-2191] PASSED [ 73%]
test_w002.py::TestCalculateDateDifferenceDays::test_calculate_difference_scenarios[date17-date27-9] PASSED [ 73%]
test_w002.py::TestCalculateDateDifferenceDays::test_calculate_difference_scenarios[date18-date28-9] PASSED [ 73%]
test_w002.py::TestDetectOutdatedDatemodified::test_detect_outdated_scenarios[somef_data0-test_repo.json-False-0] PASSED [ 73%]
test_w002.py::TestDetectOutdatedDatemodified::test_detect_outdated_scenarios[somef_data1-test_repo.json-False-0] PASSED [ 73%]
test_w002.py::TestDetectOutdatedDatemodified::test_detect_outdated_scenarios[somef_data2-test_repo.json-False-0] PASSED [ 73%]
test_w002.py::TestDetectOutdatedDatemodified::test_detect_outdated_scenarios[somef_data3-test_repo.json-False-0] PASSED [ 73%]
test_w002.py::TestDetectOutdatedDatemodified::test_detect_outdated_scenarios[somef_data4-test_repo.json-False-1] PASSED [ 73%]
test_w002.py::TestDetectOutdatedDatemodified::test_detect_outdated_scenarios[somef_data5-test_repo.json-True-10] PASSED [ 73%]
test_w002.py::TestDetectOutdatedDatemodified::test_detect_outdated_scenarios[somef_data6-test_repo.json-True-446] PASSED [ 73%]
test_w002.py::TestDetectOutdatedDatemodified::test_detect_outdated_scenarios[somef_data7-test_repo.json-False-10] PASSED [ 73%]
test_w002.py::TestDetectOutdatedDatemodified::test_result_structure PASSED [ 73%]
test_w002.py::TestDetectOutdatedDatemodified::test_parsed_dates_format PASSED [ 74%]
test_w002.py::TestDetectOutdatedDatemodified::test_warning_threshold[0-False] PASSED [ 74%]
test_w002.py::TestDetectOutdatedDatemodified::test_warning_threshold[1-False] PASSED [ 74%]
test_w002.py::TestDetectOutdatedDatemodified::test_warning_threshold[2-True] PASSED [ 74%]
test_w002.py::TestDetectOutdatedDatemodified::test_warning_threshold[7-True] PASSED [ 74%]
test_w002.py::TestDetectOutdatedDatemodified::test_warning_threshold[30-True] PASSED [ 74%]
test_w002.py::TestDetectOutdatedDatemodified::test_warning_threshold[365-True] PASSED [ 74%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data0-test_repo.json-False-False-0] PASSED [ 74%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data1-test_repo.json-False-False-0] PASSED [ 74%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data2-test_repo.json-False-False-0] PASSED [ 74%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data3-test_repo.json-False-False-1] PASSED [ 74%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data4-test_repo.json-True-True-1] PASSED [ 74%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data5-test_repo.json-True-True-0] PASSED [ 74%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data6-test_repo.json-False-True-2] PASSED [ 74%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data7-test_repo.json-True-True-1] PASSED [ 75%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data8-test_repo.json-True-True-1] PASSED [ 75%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data9-test_repo.json-True-True-1] PASSED [ 75%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data10-test_repo.json-True-True-1] PASSED [ 75%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data11-test_repo.json-True-True-1] PASSED [ 75%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data12-test_repo.json-True-True-1] PASSED [ 75%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data13-test_repo.json-True-True-1] PASSED [ 75%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data14-test_repo.json-True-True-1] PASSED [ 75%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data15-test_repo.json-True-True-1] PASSED [ 75%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data16-test_repo.json-False-False-1] PASSED [ 75%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data17-test_repo.json-False-False-1] PASSED [ 75%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_detect_pitfall_scenarios[somef_data18-test_repo.json-True-True-1] PASSED [ 75%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_result_structure PASSED [ 75%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_dual_license_source_captured PASSED [ 75%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_multiple_codemeta_licenses_no_pitfall PASSED [ 76%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_all_dual_license_patterns PASSED [ 76%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_non_codemeta_technique_not_counted PASSED [ 76%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_first_dual_license_pattern_wins PASSED [ 76%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_missing_result_or_value_handled PASSED [ 76%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_edge_case_exactly_one_codemeta_license PASSED [ 76%]
test_w003.py::TestDetectDualLicenseMissingCodemetaPitfall::test_edge_case_exactly_two_codemeta_licenses PASSED [ 76%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_detect_warning_scenarios[somef_data0-test_repo.json-False-expected_languages0] PASSED [ 76%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_detect_warning_scenarios[somef_data1-test_repo.json-False-expected_languages1] PASSED [ 76%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_detect_warning_scenarios[somef_data2-test_repo.json-False-expected_languages2] PASSED [ 76%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_detect_warning_scenarios[somef_data3-test_repo.json-False-expected_languages3] PASSED [ 76%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_detect_warning_scenarios[somef_data4-test_repo.json-True-expected_languages4] PASSED [ 76%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_detect_warning_scenarios[somef_data5-test_repo.json-False-expected_languages5] PASSED [ 76%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_detect_warning_scenarios[somef_data6-test_repo.json-True-expected_languages6] PASSED [ 77%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_detect_warning_scenarios[somef_data7-test_repo.json-True-expected_languages7] PASSED [ 77%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_detect_warning_scenarios[somef_data8-test_repo.json-True-expected_languages8] PASSED [ 77%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_detect_warning_scenarios[somef_data9-test_repo.json-False-expected_languages9] PASSED [ 77%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_detect_warning_scenarios[somef_data10-test_repo.json-False-expected_languages10] PASSED [ 77%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_detect_warning_scenarios[somef_data11-test_repo.json-True-expected_languages11] PASSED [ 77%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_detect_warning_scenarios[somef_data12-test_repo.json-True-expected_languages12] PASSED [ 77%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_detect_warning_scenarios[somef_data13-test_repo.json-True-expected_languages13] PASSED [ 77%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_result_structure PASSED [ 77%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_different_programming_languages[Python] PASSED [ 77%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_different_programming_languages[JavaScript] PASSED [ 77%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_different_programming_languages[Java] PASSED [ 77%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_different_programming_languages[C++] PASSED [ 77%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_different_programming_languages[C] PASSED [ 77%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_different_programming_languages[Go] PASSED [ 78%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_different_programming_languages[Rust] PASSED [ 78%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_different_programming_languages[Ruby] PASSED [ 78%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_different_programming_languages[PHP] PASSED [ 78%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_different_programming_languages[Swift] PASSED [ 78%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_different_programming_languages[Kotlin] PASSED [ 78%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_different_programming_languages[R] PASSED [ 78%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_accumulates_multiple_languages_without_version PASSED [ 78%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_only_counts_null_versions_not_with_versions PASSED [ 78%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_source_is_set_from_last_entry PASSED [ 78%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_handles_missing_result_field PASSED [ 78%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_version_empty_string_not_treated_as_null PASSED [ 78%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_multiple_entries_same_language PASSED [ 78%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_various_version_formats[3.9] PASSED [ 78%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_various_version_formats[2.7.18] PASSED [ 79%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_various_version_formats[11] PASSED [ 79%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_various_version_formats[ES6] PASSED [ 79%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_various_version_formats[C++17] PASSED [ 79%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_various_version_formats[1.0.0] PASSED [ 79%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_various_version_formats[latest] PASSED [ 79%]
test_w004.py::TestDetectProgrammingLanguageNoVersionPitfall::test_default_unknown_name_when_name_missing PASSED [ 79%]
test_w005.py::TestDetectMultipleRequirementsInString::test_multiple_requirements_detection[-0] PASSED [ 79%]
test_w005.py::TestDetectMultipleRequirementsInString::test_multiple_requirements_detection[None-0] PASSED [ 79%]
test_w005.py::TestDetectMultipleRequirementsInString::test_multiple_requirements_detection[123-0] PASSED [ 79%]
test_w005.py::TestDetectMultipleRequirementsInString::test_multiple_requirements_detection[requirement_string3-0] PASSED [ 79%]
test_w005.py::TestDetectMultipleRequirementsInString::test_multiple_requirements_detection[Python 3.9-0] PASSED [ 79%]
test_w005.py::TestDetectMultipleRequirementsInString::test_multiple_requirements_detection[numpy>=1.20.0-0] PASSED [ 79%]
test_w005.py::TestDetectMultipleRequirementsInString::test_multiple_requirements_detection[A single package-0] PASSED [ 80%]
test_w005.py::TestDetectMultipleRequirementsInString::test_multiple_requirements_detection[numpy  pandas-2] PASSED [ 80%]
test_w005.py::TestDetectMultipleRequirementsInString::test_multiple_requirements_detection[package1  package2  package3-3] PASSED [ 80%]
test_w005.py::TestDetectMultipleRequirementsInString::test_multiple_requirements_detection[Python NumPy Pandas-3] PASSED [ 80%]
test_w005.py::TestDetectMultipleRequirementsInString::test_multiple_requirements_detection[Java Spring Maven-3] PASSED [ 80%]
test_w005.py::TestDetectMultipleRequirementsInString::test_multiple_requirements_detection[  numpy  pandas  -2] PASSED [ 80%]
test_w005.py::TestDetectMultipleRequirementsInString::test_multiple_requirements_detection[Python3 NumPy SciPy-3] PASSED [ 80%]
test_w005.py::TestDetectMultipleRequirementsInString::test_returns_empty_list_for_single_requirement PASSED [ 80%]
test_w005.py::TestDetectMultipleRequirementsInString::test_multiple_spaces_separator PASSED [ 80%]
test_w005.py::TestDetectMultipleRequirementsInString::test_capital_letter_pattern PASSED [ 80%]
test_w005.py::TestDetectMultipleRequirementsInString::test_strips_whitespace_from_results PASSED [ 80%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_detect_warning_scenarios[somef_data0-test_repo.json-False-0] PASSED [ 80%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_detect_warning_scenarios[somef_data1-test_repo.json-False-0] PASSED [ 80%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_detect_warning_scenarios[somef_data2-test_repo.json-False-0] PASSED [ 80%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_detect_warning_scenarios[somef_data3-test_repo.json-False-0] PASSED [ 81%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_detect_warning_scenarios[somef_data4-test_repo.json-True-3] PASSED [ 81%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_detect_warning_scenarios[somef_data5-test_repo.json-True-3] PASSED [ 81%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_detect_warning_scenarios[somef_data6-test_repo.json-True-2] PASSED [ 81%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_detect_warning_scenarios[somef_data7-test_repo.json-False-0] PASSED [ 81%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_result_structure PASSED [ 81%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_specific_metadata_sources[repository/codemeta.json] PASSED [ 81%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_specific_metadata_sources[repository/setup.py] PASSED [ 81%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_specific_metadata_sources[repository/pom.xml] PASSED [ 81%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_technique_matching PASSED [ 81%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_stops_at_first_warning PASSED [ 81%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_source_fallback_to_technique PASSED [ 81%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_non_string_value_types PASSED [ 81%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_list_with_multiple_elements PASSED [ 81%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_list_with_single_concatenated_element PASSED [ 82%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_detected_requirements_content[numpy  pandas-expected_reqs0] PASSED [ 82%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_detected_requirements_content[Python NumPy SciPy-expected_reqs1] PASSED [ 82%]
test_w005.py::TestDetectMultipleRequirementsStringWarning::test_detected_requirements_content[package1  package2  package3-expected_reqs2] PASSED [ 82%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[-False] PASSED [ 82%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[None-False] PASSED [ 82%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[doi:10.1234/example-True] PASSED [ 82%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[DOI:10.5678/test-True] PASSED [ 82%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[10.1000/journal.12345-True] PASSED [ 82%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[10.5281/zenodo.67890-True] PASSED [ 82%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[https:/example.com-True] PASSED [ 82%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[http:/example.org/resource-True] PASSED [ 82%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[https:/doi.org/10.1234/example-True] PASSED [ 82%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[Project Name-False] PASSED [ 83%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[My Software-False] PASSED [ 83%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[John Doe-False] PASSED [ 83%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[Software Title-False] PASSED [ 83%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[doi:-False] PASSED [ 83%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[10.-False] PASSED [ 83%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[ftp:/example.com-False] PASSED [ 83%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[DOI:10.1234/test-True] PASSED [ 83%]
test_w006.py::TestIsValidIdentifier::test_identifier_validation[HTTPS:/EXAMPLE.COM-True] PASSED [ 83%]
test_w006.py::TestHasDoiInOtherSources::test_doi_in_non_codemeta_source PASSED [ 83%]
test_w006.py::TestHasDoiInOtherSources::test_no_doi_in_other_sources PASSED [ 83%]
test_w006.py::TestHasDoiInOtherSources::test_doi_only_in_codemeta PASSED [ 83%]
test_w006.py::TestHasDoiInOtherSources::test_doi_keyword_detection PASSED [ 83%]
test_w006.py::TestHasDoiInOtherSources::test_doi_pattern_detection PASSED [ 83%]
test_w006.py::TestDetectIdentifierNameWarning::test_detect_warning_scenarios[somef_data0-test_repo.json-False] PASSED [ 84%]
test_w006.py::TestDetectIdentifierNameWarning::test_detect_warning_scenarios[somef_data1-test_repo.json-False] PASSED [ 84%]
test_w006.py::TestDetectIdentifierNameWarning::test_detect_warning_scenarios[somef_data2-test_repo.json-False] PASSED [ 84%]
test_w006.py::TestDetectIdentifierNameWarning::test_detect_warning_scenarios[somef_data3-test_repo.json-False] PASSED [ 84%]
test_w006.py::TestDetectIdentifierNameWarning::test_detect_warning_scenarios[somef_data4-test_repo.json-False] PASSED [ 84%]
test_w006.py::TestDetectIdentifierNameWarning::test_detect_warning_scenarios[somef_data5-test_repo.json-True] PASSED [ 84%]
test_w006.py::TestDetectIdentifierNameWarning::test_detect_warning_scenarios[somef_data6-test_repo.json-True] PASSED [ 84%]
test_w006.py::TestDetectIdentifierNameWarning::test_detect_warning_scenarios[somef_data7-test_repo.json-True] PASSED [ 84%]
test_w006.py::TestDetectIdentifierNameWarning::test_result_structure PASSED [ 84%]
test_w006.py::TestDetectIdentifierNameWarning::test_codemeta_identifier_captured PASSED [ 84%]
test_w006.py::TestDetectIdentifierNameWarning::test_other_identifiers_collected PASSED [ 84%]
test_w006.py::TestDetectIdentifierNameWarning::test_multiple_codemeta_identifiers_uses_first PASSED [ 84%]
test_w006.py::TestDetectIdentifierNameWarning::test_technique_code_parser_matching PASSED [ 84%]
test_w006.py::TestDetectIdentifierNameWarning::test_doi_pattern_in_other_sources PASSED [ 84%]
test_w006.py::TestDetectIdentifierNameWarning::test_various_valid_identifier_formats[10.1234/example] PASSED [ 85%]
test_w006.py::TestDetectIdentifierNameWarning::test_various_valid_identifier_formats[doi:10.5678/test] PASSED [ 85%]
test_w006.py::TestDetectIdentifierNameWarning::test_various_valid_identifier_formats[https:/doi.org/10.1234/test] PASSED [ 85%]
test_w006.py::TestDetectIdentifierNameWarning::test_various_valid_identifier_formats[http:/example.org/resource] PASSED [ 85%]
test_w006.py::TestDetectIdentifierNameWarning::test_no_warning_when_all_names PASSED [ 85%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_detect_empty_identifier_scenarios[somef_data0-test_repo.json-False-None-None] PASSED [ 85%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_detect_empty_identifier_scenarios[somef_data1-test_repo.json-False-None-None] PASSED [ 85%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_detect_empty_identifier_scenarios[somef_data2-test_repo.json-False-None-None] PASSED [ 85%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_detect_empty_identifier_scenarios[somef_data3-test_repo.json-False-None-None] PASSED [ 85%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_detect_empty_identifier_scenarios[somef_data4-test_repo.json-False-None-None] PASSED [ 85%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_detect_empty_identifier_scenarios[somef_data5-test_repo.json-True--repository/codemeta.json] PASSED [ 85%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_detect_empty_identifier_scenarios[somef_data6-test_repo.json-True-   -repository/codemeta.json] PASSED [ 85%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_detect_empty_identifier_scenarios[somef_data7-test_repo.json-True-None-repository/codemeta.json] PASSED [ 85%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_detect_empty_identifier_scenarios[somef_data8-test_repo.json-True--repository/codemeta.json] PASSED [ 86%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_detect_empty_identifier_scenarios[somef_data9-test_repo.json-True--repository/CodeMeta.json] PASSED [ 86%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_detect_empty_identifier_scenarios[somef_data10-test_repo.json-True--codemeta file] PASSED [ 86%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_detect_empty_identifier_scenarios[somef_data11-test_repo.json-False-None-None] PASSED [ 86%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_detect_empty_identifier_scenarios[somef_data12-test_repo.json-False-None-None] PASSED [ 86%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_detect_empty_identifier_scenarios[somef_data13-test_repo.json-False-None-None] PASSED [ 86%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_detect_empty_identifier_scenarios[somef_data14-test_repo.json-True-\t\n  -repository/codemeta.json] PASSED [ 86%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_result_structure PASSED [ 86%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_stops_at_first_match PASSED [ 86%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_technique_filtering[code_parser] PASSED [ 86%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_technique_filtering[header_analysis] PASSED [ 86%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_technique_filtering[github_api] PASSED [ 86%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_source_variations PASSED [ 86%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_various_empty_values[] PASSED [ 86%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_various_empty_values[  ] PASSED [ 87%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_various_empty_values[\t] PASSED [ 87%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_various_empty_values[\n] PASSED [ 87%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_various_empty_values[   \t\n  ] PASSED [ 87%]
test_w007.py::TestDetectEmptyIdentifierWarning::test_various_empty_values[None] PASSED [ 87%]
test_w008.py::TestDetectAuthorNameListWarning::test_detect_author_name_list_scenarios[somef_data0-test_repo.json-False-None-None] PASSED [ 87%]
test_w008.py::TestDetectAuthorNameListWarning::test_detect_author_name_list_scenarios[somef_data1-test_repo.json-False-None-None] PASSED [ 87%]
test_w008.py::TestDetectAuthorNameListWarning::test_detect_author_name_list_scenarios[somef_data2-test_repo.json-False-None-None] PASSED [ 87%]
test_w008.py::TestDetectAuthorNameListWarning::test_detect_author_name_list_scenarios[somef_data3-test_repo.json-False-None-None] PASSED [ 87%]
test_w008.py::TestDetectAuthorNameListWarning::test_detect_author_name_list_scenarios[somef_data4-test_repo.json-False-None-None] PASSED [ 87%]
test_w008.py::TestDetectAuthorNameListWarning::test_detect_author_name_list_scenarios[somef_data5-test_repo.json-True-['William', 'Michael'] Landau-codemeta.json] PASSED [ 87%]
test_w008.py::TestDetectAuthorNameListWarning::test_detect_author_name_list_scenarios[somef_data6-test_repo.json-False-None-None] PASSED [ 87%]
test_w008.py::TestDetectAuthorNameListWarning::test_detect_author_name_list_scenarios[somef_data7-test_repo.json-True-['Alice', 'Bob', 'Charlie'] Team-setup.py] PASSED [ 87%]
test_w008.py::TestDetectAuthorNameListWarning::test_detect_author_name_list_scenarios[somef_data8-test_repo.json-False-None-None] PASSED [ 87%]
test_w008.py::TestDetectAuthorNameListWarning::test_detect_author_name_list_scenarios[somef_data9-test_repo.json-False-None-None] PASSED [ 88%]
test_w008.py::TestDetectAuthorNameListWarning::test_detect_author_name_list_scenarios[somef_data10-test_repo.json-False-None-None] PASSED [ 88%]
test_w008.py::TestDetectAuthorNameListWarning::test_detect_author_name_list_scenarios[somef_data11-test_repo.json-False-None-None] PASSED [ 88%]
test_w008.py::TestDetectAuthorNameListWarning::test_detect_author_name_list_scenarios[somef_data12-test_repo.json-True-['First', 'Second'] ['Third', 'Fourth'] Name-pyproject.toml] PASSED [ 88%]
test_w008.py::TestDetectAuthorNameListWarning::test_detect_author_name_list_scenarios[somef_data13-test_repo.json-False-None-None] PASSED [ 88%]
test_w008.py::TestDetectAuthorNameListWarning::test_detect_author_name_list_scenarios[somef_data14-test_repo.json-False-None-None] PASSED [ 88%]
test_w008.py::TestDetectAuthorNameListWarning::test_detect_author_name_list_scenarios[somef_data15-test_repo.json-False-None-None] PASSED [ 88%]
test_w008.py::TestDetectAuthorNameListWarning::test_detect_author_name_list_scenarios[somef_data16-test_repo.json-True-['First' , 'Second'] LastName-pom.xml] PASSED [ 88%]
test_w008.py::TestDetectAuthorNameListWarning::test_result_structure PASSED [ 88%]
test_w008.py::TestDetectAuthorNameListWarning::test_all_metadata_sources[codemeta.json] PASSED [ 88%]
test_w008.py::TestDetectAuthorNameListWarning::test_all_metadata_sources[DESCRIPTION] PASSED [ 88%]
test_w008.py::TestDetectAuthorNameListWarning::test_all_metadata_sources[composer.json] PASSED [ 88%]
test_w008.py::TestDetectAuthorNameListWarning::test_all_metadata_sources[package.json] PASSED [ 88%]
test_w008.py::TestDetectAuthorNameListWarning::test_all_metadata_sources[pom.xml] PASSED [ 89%]
test_w008.py::TestDetectAuthorNameListWarning::test_all_metadata_sources[pyproject.toml] PASSED [ 89%]
test_w008.py::TestDetectAuthorNameListWarning::test_all_metadata_sources[requirements.txt] PASSED [ 89%]
test_w008.py::TestDetectAuthorNameListWarning::test_all_metadata_sources[setup.py] PASSED [ 89%]
test_w008.py::TestDetectAuthorNameListWarning::test_various_list_patterns[['A', 'B']] PASSED [ 89%]
test_w008.py::TestDetectAuthorNameListWarning::test_various_list_patterns[['First', 'Middle', 'Last']] PASSED [ 89%]
test_w008.py::TestDetectAuthorNameListWarning::test_various_list_patterns[['One','Two','Three']] PASSED [ 89%]
test_w008.py::TestDetectAuthorNameListWarning::test_various_list_patterns[['X' , 'Y' , 'Z']] PASSED [ 89%]
test_w008.py::TestDetectAuthorNameListWarning::test_various_list_patterns[["A", "B"]] PASSED [ 89%]
test_w008.py::TestDetectAuthorNameListWarning::test_no_comma_in_brackets PASSED [ 89%]
test_w008.py::TestDetectAuthorNameListWarning::test_multiple_authors_first_has_warning PASSED [ 89%]
test_w008.py::TestDetectAuthorNameListWarning::test_source_field_variations PASSED [ 89%]
test_w009.py::TestIsUrl::test_is_url_scenarios[http:/example.com-True] PASSED [ 89%]
test_w009.py::TestIsUrl::test_is_url_scenarios[https:/example.com-True] PASSED [ 89%]
test_w009.py::TestIsUrl::test_is_url_scenarios[HTTP:/EXAMPLE.COM-True] PASSED [ 90%]
test_w009.py::TestIsUrl::test_is_url_scenarios[https:/www.example.org-True] PASSED [ 90%]
test_w009.py::TestIsUrl::test_is_url_scenarios[www.example.com-True] PASSED [ 90%]
test_w009.py::TestIsUrl::test_is_url_scenarios[www.github.com/user/repo-True] PASSED [ 90%]
test_w009.py::TestIsUrl::test_is_url_scenarios[WWW.SITE.NET-True] PASSED [ 90%]
test_w009.py::TestIsUrl::test_is_url_scenarios[example.org-True] PASSED  [ 90%]
test_w009.py::TestIsUrl::test_is_url_scenarios[site.com-True] PASSED     [ 90%]
test_w009.py::TestIsUrl::test_is_url_scenarios[domain.net-True] PASSED   [ 90%]
test_w009.py::TestIsUrl::test_is_url_scenarios[mysite.org/path-True] PASSED [ 90%]
test_w009.py::TestIsUrl::test_is_url_scenarios[test.com?query=value-True] PASSED [ 90%]
test_w009.py::TestIsUrl::test_is_url_scenarios[HTTPS:/EXAMPLE.ORG-True] PASSED [ 90%]
test_w009.py::TestIsUrl::test_is_url_scenarios[Example.COM-True] PASSED  [ 90%]
test_w009.py::TestIsUrl::test_is_url_scenarios[active-False] PASSED      [ 90%]
test_w009.py::TestIsUrl::test_is_url_scenarios[development-False] PASSED [ 90%]
test_w009.py::TestIsUrl::test_is_url_scenarios[WIP-False] PASSED         [ 91%]
test_w009.py::TestIsUrl::test_is_url_scenarios[stable-False] PASSED      [ 91%]
test_w009.py::TestIsUrl::test_is_url_scenarios[beta-False] PASSED        [ 91%]
test_w009.py::TestIsUrl::test_is_url_scenarios[alpha-False] PASSED       [ 91%]
test_w009.py::TestIsUrl::test_is_url_scenarios[inactive-False] PASSED    [ 91%]
test_w009.py::TestIsUrl::test_is_url_scenarios[-False] PASSED            [ 91%]
test_w009.py::TestIsUrl::test_is_url_scenarios[   -False] PASSED         [ 91%]
test_w009.py::TestIsUrl::test_is_url_scenarios[None-False] PASSED        [ 91%]
test_w009.py::TestIsUrl::test_is_url_scenarios[file.txt-False] PASSED    [ 91%]
test_w009.py::TestIsUrl::test_is_url_scenarios[document.pdf-False] PASSED [ 91%]
test_w009.py::TestIsUrl::test_is_url_scenarios[script.py-False] PASSED   [ 91%]
test_w009.py::TestIsUrl::test_is_url_scenarios[12345-False] PASSED       [ 91%]
test_w009.py::TestIsUrl::test_is_url_scenarios[status-active-False] PASSED [ 91%]
test_w009.py::TestIsUrl::test_is_url_scenarios[under_development-False] PASSED [ 92%]
test_w009.py::TestIsUrl::test_is_url_scenarios[this is example.com in text-True] PASSED [ 92%]
test_w009.py::TestIsUrl::test_is_url_scenarios[visit www.site.com for info-True] PASSED [ 92%]
test_w009.py::TestIsUrl::test_is_url_scenarios[see https:/example.org-True] PASSED [ 92%]
test_w009.py::TestIsUrl::test_is_url_with_non_string PASSED              [ 92%]
test_w009.py::TestIsUrl::test_is_url_whitespace_handling PASSED          [ 92%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data0-test_repo.json-False-None-False] PASSED [ 92%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data1-test_repo.json-False-None-False] PASSED [ 92%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data2-test_repo.json-False-None-False] PASSED [ 92%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data3-test_repo.json-False-None-False] PASSED [ 92%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data4-test_repo.json-False-None-False] PASSED [ 92%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data5-test_repo.json-True-https:/www.repostatus.org/#active-True] PASSED [ 92%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data6-test_repo.json-True-www.example.org/status-True] PASSED [ 92%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data7-test_repo.json-True-example.com/status-True] PASSED [ 92%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data8-test_repo.json-False-None-False] PASSED [ 93%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data9-test_repo.json-False-None-False] PASSED [ 93%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data10-test_repo.json-True-http:/example.org-True] PASSED [ 93%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data11-test_repo.json-True-https:/example.com-True] PASSED [ 93%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data12-test_repo.json-True-www.status.org-True] PASSED [ 93%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data13-test_repo.json-False-None-False] PASSED [ 93%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data14-test_repo.json-False-None-False] PASSED [ 93%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data15-test_repo.json-False-None-False] PASSED [ 93%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data16-test_repo.json-True-status.net/active-True] PASSED [ 93%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_detect_development_status_url_scenarios[somef_data17-test_repo.json-False-None-False] PASSED [ 93%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_result_structure PASSED [ 93%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_stops_at_first_match PASSED [ 93%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_various_url_formats[https:/www.repostatus.org/#active] PASSED [ 93%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_various_url_formats[http:/repostatus.org/#wip] PASSED [ 93%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_various_url_formats[www.repostatus.org/#inactive] PASSED [ 94%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_various_url_formats[repostatus.org/status] PASSED [ 94%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_various_url_formats[status.com] PASSED [ 94%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_various_url_formats[example.net/dev] PASSED [ 94%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_valid_status_strings[active] PASSED [ 94%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_valid_status_strings[inactive] PASSED [ 94%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_valid_status_strings[wip] PASSED [ 94%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_valid_status_strings[concept] PASSED [ 94%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_valid_status_strings[suspended] PASSED [ 94%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_valid_status_strings[unsupported] PASSED [ 94%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_valid_status_strings[moved] PASSED [ 94%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_valid_status_strings[alpha] PASSED [ 94%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_valid_status_strings[beta] PASSED [ 94%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_valid_status_strings[stable] PASSED [ 95%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_source_variations PASSED [ 95%]
test_w009.py::TestDetectDevelopmentStatusUrlPitfall::test_non_string_values PASSED [ 95%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[github.com:user/repo.git-True] PASSED [ 95%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[github.com:user/repo-True] PASSED [ 95%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[gitlab.com:group/project.git-True] PASSED [ 95%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[bitbucket.org:team/repository-True] PASSED [ 95%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[git.example.com:user/project.git-True] PASSED [ 95%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[server.com:path/to/repo-True] PASSED [ 95%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[git-server.com:user/repo.git-True] PASSED [ 95%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[my.git.server.com:project.git-True] PASSED [ 95%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[github.com:user/my_repo.git-True] PASSED [ 95%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[github.com:org/repo.name.git-True] PASSED [ 95%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[github.com:user/repo-name-True] PASSED [ 95%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[https:/github.com/user/repo.git-False] PASSED [ 96%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[http:/gitlab.com/user/project.git-False] PASSED [ 96%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[https:/github.com/user/repo-False] PASSED [ 96%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[not-a-url-False] PASSED [ 96%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[just-text-False] PASSED [ 96%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[user@host:repo-False] PASSED [ 96%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[github.com/user/repo-False] PASSED [ 96%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[:invalid-False] PASSED [ 96%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[github.com:-False] PASSED [ 96%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[-False] PASSED [ 96%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[   -False] PASSED [ 96%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[None-False] PASSED [ 96%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[a:b-True] PASSED [ 96%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[host.com:path-True] PASSED [ 96%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[HOST.COM:PATH.GIT-True] PASSED [ 97%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[git123.com:user/repo123.git-True] PASSED [ 97%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[github.com:user123/repo456-True] PASSED [ 97%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[github.com:org/team/project.git-True] PASSED [ 97%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_scenarios[gitlab.com:group/subgroup/repo-True] PASSED [ 97%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_with_non_string PASSED [ 97%]
test_w010.py::TestIsGitRemoteShorthand::test_is_git_remote_shorthand_whitespace_handling PASSED [ 97%]
test_w010.py::TestIsGitRemoteShorthand::test_http_https_prefix_rejection PASSED [ 97%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_detect_git_shorthand_scenarios[somef_data0-test_repo.json-False-None-None] PASSED [ 97%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_detect_git_shorthand_scenarios[somef_data1-test_repo.json-False-None-None] PASSED [ 97%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_detect_git_shorthand_scenarios[somef_data2-test_repo.json-False-None-None] PASSED [ 97%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_detect_git_shorthand_scenarios[somef_data3-test_repo.json-False-None-None] PASSED [ 97%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_detect_git_shorthand_scenarios[somef_data4-test_repo.json-False-None-None] PASSED [ 97%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_detect_git_shorthand_scenarios[somef_data5-test_repo.json-True-github.com:user/repo.git-codemeta.json] PASSED [ 98%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_detect_git_shorthand_scenarios[somef_data6-test_repo.json-True-gitlab.com:user/project-package.json] PASSED [ 98%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_detect_git_shorthand_scenarios[somef_data7-test_repo.json-False-None-None] PASSED [ 98%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_detect_git_shorthand_scenarios[somef_data8-test_repo.json-True-bitbucket.org:team/repo.git-setup.py] PASSED [ 98%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_detect_git_shorthand_scenarios[somef_data9-test_repo.json-True-github.com:user/repo-pyproject.toml] PASSED [ 98%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_detect_git_shorthand_scenarios[somef_data10-test_repo.json-False-None-None] PASSED [ 98%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_detect_git_shorthand_scenarios[somef_data11-test_repo.json-False-None-None] PASSED [ 98%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_detect_git_shorthand_scenarios[somef_data12-test_repo.json-True-github.com:user/repo.git-None] PASSED [ 98%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_detect_git_shorthand_scenarios[somef_data13-test_repo.json-True-gitlab.com:group/project.git-pom.xml] PASSED [ 98%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_detect_git_shorthand_scenarios[somef_data14-test_repo.json-True-git.example.com:vendor/package-composer.json] PASSED [ 98%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_detect_git_shorthand_scenarios[somef_data15-test_repo.json-True-github.com:user/rpackage.git-DESCRIPTION] PASSED [ 98%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_detect_git_shorthand_scenarios[somef_data16-test_repo.json-True-github.com:org/lib.git-requirements.txt] PASSED [ 98%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_result_structure PASSED [ 98%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_all_metadata_sources[codemeta.json] PASSED [ 98%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_all_metadata_sources[DESCRIPTION] PASSED [ 99%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_all_metadata_sources[composer.json] PASSED [ 99%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_all_metadata_sources[package.json] PASSED [ 99%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_all_metadata_sources[pom.xml] PASSED [ 99%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_all_metadata_sources[pyproject.toml] PASSED [ 99%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_all_metadata_sources[requirements.txt] PASSED [ 99%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_all_metadata_sources[setup.py] PASSED [ 99%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_stops_at_first_match PASSED [ 99%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_various_shorthand_formats[github.com:user/repo.git] PASSED [ 99%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_various_shorthand_formats[gitlab.com:group/project] PASSED [ 99%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_various_shorthand_formats[bitbucket.org:team/repository.git] PASSED [ 99%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_various_shorthand_formats[git.server.com:path/to/repo] PASSED [ 99%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_various_shorthand_formats[example.com:vendor/package.git] PASSED [ 99%]
test_w010.py::TestDetectGitRemoteShorthandPitfall::test_missing_technique_field PASSED [100%]

============================= 1366 passed in 2.17s =============================
