Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • On a (sort of) related issue, is there a Test:: module that will allow you to test only 1 or more tests from a large group of tests?

    For instance say test 99 of 100 starts failing and you would like to run it on its own. Is there any module that you can "use" to run only that test so that you don't see the output of the tests before or after. Something like:

            use Test::More tests => 100;
            use Test::Only '99'; ...

    John.
    --
    • No, there's nothing like that. Part of the problem is that you get tests written like this:

      ok $some_test;
      # change the state
      ok $some_other_test;

      If you change the state between tests and only run the second test (and not code before it), this fails. You could write your own prove which only shows failing tests, but that will likely lose diagnostic information since that goes to STDERR.

      However, you can get this behavior if you're willing to switch to Test::Class. See Running Individual Tests [cpan.org] in the d

  • On the bus today, I succeeded in throwing a die(), having that pull a debugger into a previously debugger-less program, and then having it restart execution some N frames up from that as if there'd never been an exception.
  • Now here's a much better argument for "end of test" actions than "die on failure": Debug on failure. I'd definitely put in some work on Test::Builder to make that easier.
    • I'd be very happy to see that. I know that my 'die on failure' code has concerned a few people, but it's also pushing the state of the art in testing forward. I also have the luxury that I can take risks like this without threatening the entire tool chain.