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.
>
> Is there any reason echo is written in assembler?  Could we avoid
> this problem by writing it in C and using print() or puts() or
> something?

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.
--
 Drexel University       \V                    --Chuck Lane
======]---------->--------*------------<-------[===========
     (215) 895-1545     _/ \  Particle Physics
FAX: (215) 895-5934     /\ /~~~~~~~~~~~        [EMAIL PROTECTED]

Reply via email to