Start increasing testing and code coverage #175
Merged
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 diff starts increasing the code coverage in some parts of the codebase. The general approach is that of adding some extra abstraction that allows us to mock what's happening in all internal/cli packages. Until this refactoring for testability process is complete, we will have a bit of duplication. Yet, doing everything in a single step requires us to write a too large diff and seems not the right approach here. This work is part of ooni/probe#948.
There are two reasons why I'm starting to refactor the code base now. The first is that the code is now settled for quite some time and it's more or less clear what are our needs, so the time seems ripe to add tests to ensure we WAI. The second is that I am planning on further integrating probe-cli and probe-engine. To this end, we need good testing in place.
As a final remark, one of the most important objectives of testing this codebase is ensuring that we're not breaking the contract with probe-desktop as far as the
--batch
command line option is concerned.