"Alexandr Miloslavskiy via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Alexandr Miloslavskiy <alexandr.miloslavskiy@xxxxxxxxxxx> > > In my previous patches, `parse_pathspec_file()` was tested indirectly by > invoking `git reset` and `git commit` with properly crafted inputs. This > has some disadvantages: > 1) A number of tests are copy&pasted for every command where > `--pathspec-from-file` is supported. With just two commands, it > wasn't too bad, but I'm going to extend support to many more > commands, which would make a handful of low-value tests. > 2) Tests are located in suboptimal test packages > 3) Tests are indirect That cuts both ways. For a developer who is too narrowly focused (because s/he spent enough time staring at the code), testing the underlying machinery in a more direct way does feel attractive, but at the same time, what matters to the end users is how well the feature, when integrated into the commands they use (not the test scaffolding like the "test-parse-pathspec-file" command), works. So "indirect" is not necessarily a bad thing.