Improve code coverage of submodule parsing #873
Draft
+1,021
−6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a PR to improve coverage for submodule parsing that's already in the system. Specifically
func getSubmodules
inpkg/osvscanner/osvscanner.go
.This is already covered by a fixture based test in
pkg/osvscanner/osvscanner_internal_test.go
but while have execution insidegetSubmodules
, it doesn't actually cover the working parts ofgetSubmodules
.You can see coverage info by running
./scripts/generate_coverage_report.sh
and looking in ./coverage.html#file133.There are a number of states a submodule can be in:
I'm planning to test 1 and 2. I think 3 and 4 are nice to haves, and I plan to only tackle them if they're easy once 1 and 2 are done. Possibly submodules have more possible states, but these seem reasonable for coverage.
I see two implementation options:
func Test_scanGit
inpkg/osvscanner/osvscanner_internal_test.go
but with the fixture including a submodule
Dont traverse gitignored dirs for gitignore files #797