http://www.perlmonks.org?node_id=486560


in reply to On Systems and Strangeness

yes assumptions are the mother of all bugs, thats why you should have a test suite that asserts all your assumptions about the system.

If an assertion fails then you don't have a sane environment for your code.

'which perl, locate perl, some find commands and perl -V' should help you see what perls are installed where. As for perl kernal bugs the only thing to do is upgrade or carefully peruse every Perl patch.

Replies are listed 'Best First'.
Re^2: On Systems and Strangeness
by samizdat (Vicar) on Aug 25, 2005 at 14:11 UTC
    True as well, although I was referring to bugs buried in the UNIX kernel and filesystem code. The OP's problem was that his >> was acting like > and that's likely deeper than Perl.
Re^2: On Systems and Strangeness
by Anonymous Monk on Aug 25, 2005 at 19:44 UTC
    yes assumptions are the mother of all bugs, thats why you should have a test suite that asserts all your assumptions about the system.

    How could you possibly write such a system? How do you verify that first test in the suite is passed, something has changed in the system to make that test no longer pass? And if you can't, what good is your test? You can't avoid making assumptions; you can just add complexity by making meta-assumptions until you run out of time/money. Sometimes this is cost effective; but often it's not.

    If an assertion fails then you don't have a sane environment for your code.

    This is frequently true for production systems. It's often your job to deal with an imperfect world, and a dynamic and often flawed testing or production environment. Sometimes, this means accepting sub-optimal results as a consequence of a sub-optimal testing budget, on a probablistic basis designed to maximimize profits for the industry, given departmental budget contrainst.

    We don't always live or work in a perfect world. Quite the opposite, most of the time. We have to do what we can within the time and budget constraints we are offered; that's all we can legally do.

      yes maybe testing all assumptions about the system is a little broad.

      I think I meant in this case perl/module/binary version assumptions.

      Try putting the test suite in your development budget/schedule instead of testing, it should usually be part of development anyway