Andy Lester wrote:
>> Usually, Test::* modules are only used for the test phase.
> 
> 
> I really don't understand the idea of "only used for the test phase",

there is clearly a distinction between the code required for a given module
to compile and run in a production environment and the code required to make
sure a suite of tests runs.

> as if the tests don't matter, 

well, tests mean different things to different people.

> or if there are levels of failure.  

I wouldn't take that stance, but lots of people do.  "oh, that test is
supposed to fail" is still heard all the time, even though those folks
hanging out here know how bad something like that really is.

> Either they install OK on the target system, and you can use them  with
> confidence, and they've done their job, 

which is really separate from the running the tests, now isn't it.

take something as ubiquitous as apache.  nobody runs the test suite (mainly
because it doesn't come bundled with the software) but people install and
run it in droves.    do you run tests when installing, say, fedora?  no, but
you install the software anyway.  would you still install it if you ran the
tests and some failed?  of course (and don't tell me you wouldn't since I'll
bet everyone here has had failing perl tests in the past but we all still
used it anyway :)  now, say that the perl test suite required you do go out
and install, say, CuTest.  would you say to potential perl users "the build
process will fail if you don't have the stuff to run the tests" or "you
shouldn't have confidence in perl if you didn't run the tests (even though
we made you go through lots of hoops to do so)"?

I've known many an SA who would say something like "LWP has been around for
ages, seen many eyes, and if there are any bugs that we see that nobody else
has caught yet we'll deal with that later... so I don't bother with 'make
test'."  you can argue whether that is a sane practice or not, but people do
take that position.

> or you're going to  ignore the
> tests completely and then who needs 'em?

well, I'd argue that user-land tests exist (in part) to give me, the
developer, and idea of what the issues might be if they report a bug.  but
even if the users ignore the tests completely that doesn't mean they're
meaningless - they still ease the development process, and allow me to say
"ok, you're having this problem, what does this test say in verbose mode?"

> 
> It's like if I'm installing a washing machine, and I don't have a 
> level.  I can say "Ah, I only need it for the installation, and it 
> looks pretty level, so I don't need the level", 

I'd say that's the opinion of the vast majority of SAs I've ever met.

> or I can say "I'm not 
> using this appliance until I've proven to myself that the machine is 
> level and won't cause me any problems in the future because of an 
> imbalance."

yeah, well, you could say that.  last time I installed my washer I said
"looks pretty level to me, but I know where my level is if it makes a racket"

:)

--Geoff

Reply via email to