Re: testsuite under wine

Jacob Bachmeyer <[email protected]> Tue, 10 Jan 2023 20:30:07 -0600
Newsgroups gmane.comp.sysutils.dejagnu.general,gmane.comp.gcc.fortran,gmane.comp.gcc.devel
Message-ID <[email protected]>
NightStrike wrote:
> [...]
> I did another little test to try to better understand your point.  I
> ran a linux native testsuite under a simulator that just sets SIM to "
> ".  This resulted in extra ^M's also, although many tests pass because
> they're already looking for \r\n to accommodate windows.  So I think
> I've come around to grasp what you've been heroically re-explaining...
>
> So if we have to modify every test in the entire testsuite to check
> for zero or more \r's followed by zero or more \n's, would it be
> better to add a dg-output-line proc that does this automatically
> everywhere?

Two problems:  first, you need zero-or-more \r and *one*-or-more \n.  
Second, dg-output is not defined as an anchored match, and therefore 
cannot do this automatically.

>   I feel like changing every output pattern test won't be
> too maintainable.  You had mentioned previously modifying ${tool}_load
> to filter out extra \r's, but I couldn't see where or how to do that.
>
> For completeness, setting a random selection of tests to look for
> \r*\n? worked (this would cover even deprecated systems that only use
> CR as well as flagging the weird rust case of \r\r\n\n as bad).

Do not worry about classic Mac OS---running DejaGnu on that platform is 
not possible, nor is it possible to run test programs remotely on that 
platform.  Classic Mac OS is a pure-GUI system with no command interface 
whatsoever.  Even the Mac port of Tcl simply /does/ /not/ /have/ the Tcl 
exec(n) command.  Due to limitations of the platform, porting Expect to 
classic Mac OS is simply not possible.  Any compatibility layer would be 
reasonably expected to translate CR<->LF, if, for example, someone wrote 
a telnet server (and associated POSIX-alike environment) for Mac OS.

The later Mac OS X is a quasi-POSIX mostly compatible with the GNU 
system that uses POSIX line endings.  DejaGnu should run normally there.

Are there other systems that used bare CR as end-of-line?  If not, the 
correct pattern is therefore {\r*\n} (here written using braces as 
quotes around the pattern).


-- Jacob