
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Andrea Arcangeli wrote:
On Fri, May 19, 2006 at 10:41:35AM +1000, Justin Warren wrote:
break existing code, ie: regression testing. I'm personally a big fan of this feature of test suites.
I'm a big fun of test suites as well. I only disagree with wasting time delaying the integration of a valid bugfix just because the unit test doesn't exist yet.
It has been my experience, that if a bug is "fixed", and there wasn't a unit test for the bug, then a unit test won't get written until someone breaks it again and spends potentially many man hours tracking down the the bug again. Unit tests don't just test that a bug is "fixed" they help to document the bug, to make it easier to fix when it is broken again (and a bug without a test will resurface) or if the original bug fix turns out to not be complete or entirely correct. And if your unit tests aren't more easily verifiably correct than your code is, you're either not writing very complex code or, to paraphrase jml, your unit tests aren't unit-y enough. It is also very difficult to judge the correctness of the code (and therefor the bug 'fix') if we can not reproduce the bug. It really isn't enough that we take your word for it that there is a bug. It's not that we don't trust you in particular (well ok, some of us are indifferent and have no opinion high or low about your skills as a programmer or CS student, (well mostly it's just me)) but humans make mistakes. In such a case, a unit test can quickly indicate that there is a bug, or that the submitter of the unit test has made a mistake. You seem to be under the impression that submitting a unit test with your patch means they will both be applied simultaneously and that we'll take the green [OK] from trial to indicate that everything is fine and dandy. I assure you this isn't the case, we actually will make sure the bug exists before we fix it. - -David - -- "Usually the protocol is this: I appoint someone for a task, which they are not qualified to do. Then, they have to fight a bear if they don't want to do it." -- Glyph Lefkowitz -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (Darwin) iD8DBQFEbT9krsrO6aeULcgRAp31AJ9Z12bQi9aUr2nV97Zqb8+TijSZvwCcCZhD kT3p6umR6jK5Jy7/35q7etE= =NBEJ -----END PGP SIGNATURE-----