> Net::Config doesn't care *how* inet_ntoa and inet_aton do their job. > It just cares that it gets data in the right format. Tying STDIN
So why is this tested using a mock-up by Net::Config? Sounds like a job the Socket should be testing (and it is). > and feeding fake input to Term::Complete is, in a weird sense, much > the same thing. (Maybe that's not the right test to mention... ) :-) > It sounds like we have different ideas as to what a test suite is > supposed to prove. To me, it's a near-guarantee that as far as p5p > can control, the code appears to do what it says on your platform. I think the key is here: "on your platform". I think that for many things there's simply too much outside of our control to write any meaningful tests. A beatiful thought, but painful to execute. As an example: the Term:: tests. They practically assume a very UNIX-like environment. So if you are writing tests, you are really testing whether the environment is UNIX-like. And I do not think that is helping much. Yes, it will find the limits of UNIX compatibility: but that is the task of the documentation to tell about (thou shalt not try this unless you are UNIX). That the tests tells us "tests 3, 17, 18, and 22 were skipped because you do not seem to have an environment the test expects" is a nice tidbit for the installer to know, but will that help the users if the matter is not permanently documented? If the detailed test results were *recorded* somewhere in the installation, they would be much more useful: "Note that feature blartz does not work in GoofOS, because ..." I think that the of %Config and $^O tests in a test should be a warning flag-- what are we *really* testing? > There's definitely a range of things that cannot be tested, but it's > smaller than most people would think. We also can't mathematically > *prove* that everything works in every configuration. > > The best we can do is establish a baseline of behavior that ought to work on > all platforms. If it throws up red flags and makes someone *think* about I hope you have noticed that the baseline is rather low. -- $jhi++; # http://www.iki.fi/jhi/ # There is this special biologist word we use for 'stable'. # It is 'dead'. -- Jack Cohen