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