Hilarious dream-logic (was Re: [Twisted-Python] [patch] (etc)

David Reid dreid at dreid.org
Thu May 18 23:45:40 EDT 2006


-----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-----




More information about the Twisted-Python mailing list