From 69a1c1bea2ffddec8645ca2bc0c77c56a902fcea Mon Sep 17 00:00:00 2001 From: Samuel Dacanay Date: Thu, 3 Sep 2020 14:41:52 -0700 Subject: [PATCH 1/3] Expand matching of requirements.txt file to include any prefixes or suffixes Signed-off-by: Samuel Dacanay --- syft/cataloger/python/cataloger.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syft/cataloger/python/cataloger.go b/syft/cataloger/python/cataloger.go index 396d7f28ab2..12675b3ed2e 100644 --- a/syft/cataloger/python/cataloger.go +++ b/syft/cataloger/python/cataloger.go @@ -20,7 +20,7 @@ func New() *Cataloger { globParsers := map[string]common.ParserFn{ "**/*egg-info/PKG-INFO": parseEggMetadata, "**/*dist-info/METADATA": parseWheelMetadata, - "**/requirements.txt": parseRequirementsTxt, + "**/*requirements*.txt": parseRequirementsTxt, "**/poetry.lock": parsePoetryLock, "**/setup.py": parseSetup, } From bb68143b40f16bae44b5372f41257e57a1d557ab Mon Sep 17 00:00:00 2001 From: Samuel Dacanay Date: Thu, 3 Sep 2020 15:20:16 -0700 Subject: [PATCH 2/3] Add some test cases to integration test (ensure syft can pick up multiple requirements files) Signed-off-by: Samuel Dacanay --- test/integration/pkg_cases.go | 6 ++++++ .../image-pkg-coverage/python/requires/requirements-dev.txt | 3 +++ .../python/requires/test-requirements.txt | 3 +++ 3 files changed, 12 insertions(+) create mode 100644 test/integration/test-fixtures/image-pkg-coverage/python/requires/requirements-dev.txt create mode 100644 test/integration/test-fixtures/image-pkg-coverage/python/requires/test-requirements.txt diff --git a/test/integration/pkg_cases.go b/test/integration/pkg_cases.go index 35ce32a63b8..22a5819424d 100644 --- a/test/integration/pkg_cases.go +++ b/test/integration/pkg_cases.go @@ -82,6 +82,12 @@ var cases = []struct { pkgLanguage: pkg.Python, pkgInfo: map[string]string{ "flask": "4.0.0", + "python-dateutil": "2.8.1", + "python-swiftclient": "3.8.1", + "pytz": "2019.3", + "jsonschema": "2.6.0", + "passlib": "1.7.2", + "pathlib": "1.0.1", }, }, { diff --git a/test/integration/test-fixtures/image-pkg-coverage/python/requires/requirements-dev.txt b/test/integration/test-fixtures/image-pkg-coverage/python/requires/requirements-dev.txt new file mode 100644 index 00000000000..4b9365fe9ab --- /dev/null +++ b/test/integration/test-fixtures/image-pkg-coverage/python/requires/requirements-dev.txt @@ -0,0 +1,3 @@ +jsonschema==2.6.0 +passlib==1.7.2 +pathlib==1.0.1 \ No newline at end of file diff --git a/test/integration/test-fixtures/image-pkg-coverage/python/requires/test-requirements.txt b/test/integration/test-fixtures/image-pkg-coverage/python/requires/test-requirements.txt new file mode 100644 index 00000000000..6f32e8e0030 --- /dev/null +++ b/test/integration/test-fixtures/image-pkg-coverage/python/requires/test-requirements.txt @@ -0,0 +1,3 @@ +python-dateutil==2.8.1 +python-swiftclient==3.8.1 +pytz==2019.3 \ No newline at end of file From 2285848dde6072aa6c7563b7dbdf9b07e0b1d523 Mon Sep 17 00:00:00 2001 From: Samuel Dacanay Date: Fri, 4 Sep 2020 10:28:06 -0700 Subject: [PATCH 3/3] Run lint-fix Signed-off-by: Samuel Dacanay --- test/integration/pkg_cases.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/integration/pkg_cases.go b/test/integration/pkg_cases.go index 22a5819424d..6981304d2f4 100644 --- a/test/integration/pkg_cases.go +++ b/test/integration/pkg_cases.go @@ -81,13 +81,13 @@ var cases = []struct { pkgType: pkg.PythonRequirementsPkg, pkgLanguage: pkg.Python, pkgInfo: map[string]string{ - "flask": "4.0.0", - "python-dateutil": "2.8.1", + "flask": "4.0.0", + "python-dateutil": "2.8.1", "python-swiftclient": "3.8.1", - "pytz": "2019.3", - "jsonschema": "2.6.0", - "passlib": "1.7.2", - "pathlib": "1.0.1", + "pytz": "2019.3", + "jsonschema": "2.6.0", + "passlib": "1.7.2", + "pathlib": "1.0.1", }, }, {