On Fri, May 19, 2006 at 03:30:31PM +1000, Jonathan Lange wrote: [...]
provide strong evidence for its absence. When fixing code, there must be some check that the fix is correct. The check generally takes one of four forms: informal induction from the code; manual
I think often a combination of checks are used: in particular, reading the code and seeing that the fix "makes sense" in addition to an empiricial demonstration of absence (exercising the fixed bug manually or by automated test) is very common. A fix is rarely accepted if it doesn't "make sense", even if there's an automated test case that suggests it works.
[...]
If you wish to argue against our requirement for unit tests, then you must persuade us either that the evidence they provide is not strong enough to provide the listed benefits, or that the work in writing unit tests is significantly greater than the work of not writing unit tests.
I think the problem may be different perspectives.
For Andrea, he's apparently already manually verified that his patches solve the problems he's seen, so that's good enough. Ignoring for a moment the issue of what it takes to get it merged into official Twisted, further effort is wasted.
For people maintaining Twisted, a once-off manual verification isn't enough, for the reasons you give.
So for Andrea's fixes to make the leap from "good enough for him" to "good enough to be merged into Twisted", they need more work: they need automated tests.
-Andrew.