prove -d

Eric Wilhelm scratchcomputing at gmail.com
Wed Sep 19 09:14:32 BST 2007


# from Ovid
# on Wednesday 19 September 2007 01:00:

>>>  perl -e '`perl -d -le "print 1"`'
>>>After a lot of digging, it dawned on me that the COLUMNS and LINES
>>>environment variables were the easiest solution.

>>>  perl -e 'print `COLUMNS=80 LINES=24 perl -d -le "print 1"`'

I think you could just do `export COLUMNS` and `export LINES` -- maybe.  
I don't have this problem.

>>Note that we lose the data to STDOUT until such time that we leave the
>>debugger

Is this just because of the backticks?

>> Would using IO::Tee if it's available help?
>
>My horrible, horrible hack was to essentially have our @command look
>something like this:
>
>  [
>    'perl',
>    '-d',
>    '-MTAP::Parser::IO',
>    '-Ilib',
>    't/sample-tests/bignum'
>  ]

That's limiting us to the perl debugger.  I think we're mad enough at 
open3 (at least I am) at this point to consider IPC::Run for the main 
I/O.

Have you tried just adding the -d switch in App::Prove?  I'm really lost 
in this whole discussion because it seems to be only about backticks, 
which are not the context of interest.  Did I miss the memo with the 
TAP::Harness-specific code in it?

  perl -e 'use IPC::Run;
    IPC::Run::run([qw(perl -d -le), "print qq(1\n)"])'

Or, more closely approaching the problem-space:

  perl -e 'use IPC::Run; unless(fork)  
   {IPC::Run::run([qw(perl -d -le), "print qq(1\n)"]); exit} wait;'

I think Andy has some tee invocation for IPC::Run in the smoke script.

--Eric
-- 
"Insert random misquote here"
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------


More information about the tapx-dev mailing list