• (nodebb)

    In a unit test for a code path that is expected to fail, this seems like an acceptable comment?

  • (nodebb)

    To be fair, due to incompleteness there's always a need to fail gracefully on Turning machines and if that fails, then obviously there's a problem. And at some point, all you can due it to report a problem.

  • (nodebb)

    To err is human, to fail is failure.

  • COBOL Dilettante (unregistered)

    At the moment I'm reviewing a control report where the underlying process is known to be robust, but the reporting logic is faulty and would therefore be expected to return false exceptions. The fact that the report hasn't reported failures on a process that hasn't failed is therefore a failure. Obvious innit!

  • Mark J (unregistered) in reply to COBOL Dilettante

    COBOL Dilettante - your negative logic has me all tied up in NOTs.

  • Pag (unregistered)

    So in this case, a failure to fail is "Worse Than Failure"?

  • Argle (unregistered)

    Somehow, this story is bringing this to mind:

    Those responsible for sacking the people who have just been sacked have been sacked.

  • Randal L. Schwartz (github) in reply to Argle

    Sounds like the "gotta work as a team" and "you're fired" sequence from The IT Crowd.

  • (nodebb)

    I suppose the alternative message sent is "Task failed successfully"

  • (nodebb)

    So failure is an option?

  • (nodebb)

    "We never failed to fail, it was the easiest thing to do!"

  • (nodebb)

    It happens. Sometimes you purposely want an API call to fail. Sometimes the call can return a variable length array and by using the API call "incorrectly" it will return an error, but also return the size of array you need (the error might be "array too small").

    Other times, it's to test whether something is functioning correctly or not. Supposedly Microsoft discovered during their DirectX development that video card makers were faking the results of a capability check to make it seem like their cards were better. Microsoft caught on and purposely sent an errorneous capability code for something that will never be used (they took a spare LAN card, noted it MAC, generated a GUID from it and then smashed the card). They then sent the video driver that GUID knowing it's fake, and a good driver will return an error, while a faking driver will return "Yes, I support this!". From that test Microsoft could tell if a card was lying and take appropriate measures.

Leave a comment on “Failing to Fail”

Log In or post as a guest

Replying to comment #697417:

« Return to Article