On Tue, Jan 10, 2023 at 9:30 PM Jacob Bachmeyer <jcb62...@gmail.com> wrote: > > 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.
"or more" \n is valid? That would make the rust bug of \r\r\n\n pass when I assume it shouldn't. > > 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). Maybe none that matter. From https://en.wikipedia.org/wiki/Newline#Representation: Commodore 8-bit machines (C64, C128), Acorn BBC, ZX Spectrum, TRS-80, Apple II series, Oberon, the classic Mac OS, MIT Lisp Machine and OS-9 The article also goes on to mention that OpenVMS and RSX-11 can be configured to use CR.