Rationale
Currently, test coverage is not close to 100% even in already covered commands. While 100% coverage is not an absolute goal, it would be good to understand what are the misses to take informed decisions on them.
Concept
Let’s:
Analysis
Sources of coverage misses:
- Untested commands (some internal APIs are then not covered as a result)
- Logs
- Untested valid behaviour
- Terminal size
- Corner cases in helpers
- Corner cases in external interactions (
git in some cases, file permission erorrs, …)
- Some very unlikely error cases are not tested (i.e.
git commit not being callable, though git being callable has already been tested before in the execution)
- False positives (this code is tested by this test) => actually these kind of false positives are due to not executing the command to the end with
rexpect.
Actions
Let’s:
Let’s not:
Rationale
Currently, test coverage is not close to 100% even in already covered commands. While 100% coverage is not an absolute goal, it would be good to understand what are the misses to take informed decisions on them.
Concept
Let’s:
Analysis
Sources of coverage misses:
gitin some cases, file permission erorrs, …)git commitnot being callable, thoughgitbeing callable has already been tested before in the execution)rexpect.Actions
Let’s:
Let’s not:
git z init#36 and Add tests forgit z update#37)