|
From: | Jacob Bachmeyer |
Subject: | Re: testsuite under wine |
Date: | Tue, 10 Jan 2023 20:30:07 -0600 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 SeaMonkey/1.1.17 Mnenhy/0.7.6.0 |
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
[Prev in Thread] | Current Thread | [Next in Thread] |