At 10:26 PM -0500 2/10/01, lane @ DUPHY4.Physics.Drexel.Edu wrote:
>In article <p0433010cb6aa39a1ce3d@[172.16.52.1]>, "Craig A. Berry"
><[EMAIL PROTECTED]> writes:
>> With perl @8752, I'm seeing two test failures. Both result from the
>> test's printing ok messages with two integral print statements, which
>> works fine when just run with Perl directly, but breaks when run
>> within the test suite. Because our "echo" substitute uses
>> LIB$PUT_OUTPUT to do its business, there will always be a carriage
>> return for each integral print, causing spurious data on the line
> > after the "ok" and making the test to appear to fail.
>
>It might also just be because we're piping output via mailboxes,
>and a "record from the mailbox" is interpreted as being a "line
>with \n at the end".
>
>No real way to avoid this, since the CRTL converts \n's into record
>separators when writing to a mailbox (yes, I suppose we *could*, with
>some convoluted logic in Perl for "i/o to 'normal' mailbox" vs. "i/o
>to 'piped' mailbox", but I don't think we want to go there)
>
>Since the \n's are stripped going into the mailbox, they have to be
>added when coming out. But if a record is written without a trailing
>\n, we'll get an extra \n on the receiving end. About the only
>place this causes a problem is test suite routines written by Unix
>folks.
>
>Best bet is to get the author to stick a # at the beginning of
>the extra post-"ok" record.
Hmm. The mailbox explanation does make sense. It doesn't look like
it will be too hard to patch the tests so they only write the ok line
in one integral chunk. That way it will be one record to the mailbox
and only get one \n appended to it.
--
____________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]