bug#80674: DejaGNU vs. Tcl 9
Jacob Bachmeyer <[email protected]> Sat, 28 Mar 2026 22:05:24 -0500
| Newsgroups | gmane.comp.sysutils.dejagnu.bugs |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --===============0671694393157754524== Content-Type: multipart/alternative; boundary="------------kNg8EejeYtQEuaG5IgJCevZc" Content-Language: en-US This is a multi-part message in MIME format. --------------kNg8EejeYtQEuaG5IgJCevZc Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 3/28/26 06:45, Jakub Jelinek wrote: > On Fri, Mar 27, 2026 at 10:26:46PM -0500, Jacob Bachmeyer wrote: >> On 3/27/26 02:04, Jakub Jelinek wrote: >>> On Thu, Mar 26, 2026 at 08:07:37PM -0500, Jacob Bachmeyer wrote: >>> >>>> [...] >>>> >>>> For now, this is applied on the PR80674 branch. Please confirm that this >>>> solves your problem. >>> It does for me on Fedora 45, but for some reason not for others on Fedora >>> 43, seehttps://gcc.gnu.org/PR124641 for details. >> This looks like the Fedora maintainers and/or Tcl developers have seriously >> screwed up. This seems as good a place as any to comment, since you seem to be involved in packaging DejaGnu for Fedora: A quick look at <URL:https://src.fedoraproject.org/rpms/dejagnu> suggests that you should take a close look at what your packaging tests for DejaGnu are actually running; I believe that your use of RUNTESTFLAGS="--ignore pr48155.exp stats.exp" in your check scriptlet is inadvertently asking DejaGnu to *only* run stats.exp, which misses most of the testsuite. The comment about the issue is correct: the problem is due to a bug in Expect that should be fixed, described in <URL:https://lists.gnu.org/archive/html/dejagnu/2021-09/msg00001.html>. The issue is tracked as bug#49078 and I would welcome further discussion on that matter and work towards resolving the underlying Expect bug at <[email protected]>. > Note, I believe at least in GCC testsuite after the posted patches (i.e. > case -> switch and -encoding binary to -translation binary) all that is > needed is to run the testsuite under LC_ALL=C and then it works with both > tcl8 and tcl9. I have long had an item on my TODO list to unset CDPATH and neutralize the other "Special Shell Variables" described in the Autoconf manual. In Tcl, {unset ::env(CDPATH)} always works---there is no portability issue there. On the other hand, this looks like we may need LC_* set to "C" when the Tcl interpreter is started. Fortunately, DejaGnu has exactly an opportunity to do that: runtest(1) is actually a shell script that locates expect(1) and runtest.exp and spawns expect to run the framework and testsuite. Should LC_ALL and friends be set to "C" and exported in that shell script? I am inclined to do this on principle anyway: testsuite results should not be sensitive to the user's locale. The question is only whether to do it in the Tcl code or in the launcher script. -- Jacob --------------kNg8EejeYtQEuaG5IgJCevZc Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <div class="moz-cite-prefix">On 3/28/26 06:45, Jakub Jelinek wrote:<br> </div> <blockquote type="cite" cite="mid:ace_UKfrJpjL8PYE@tucnak"> <pre wrap="" class="moz-quote-pre">On Fri, Mar 27, 2026 at 10:26:46PM -0500, Jacob Bachmeyer wrote: </pre> <blockquote type="cite"> <pre wrap="" class="moz-quote-pre">On 3/27/26 02:04, Jakub Jelinek wrote: </pre> <blockquote type="cite"> <pre wrap="" class="moz-quote-pre">On Thu, Mar 26, 2026 at 08:07:37PM -0500, Jacob Bachmeyer wrote: </pre> <blockquote type="cite"> <pre wrap="" class="moz-quote-pre">[...] For now, this is applied on the PR80674 branch. Please confirm that this solves your problem. </pre> </blockquote> <pre wrap="" class="moz-quote-pre">It does for me on Fedora 45, but for some reason not for others on Fedora 43, seehttps://gcc.gnu.org/PR124641 for details. </pre> </blockquote> <pre wrap="" class="moz-quote-pre"> This looks like the Fedora maintainers and/or Tcl developers have seriously screwed up. </pre> </blockquote> </blockquote> <p><span style="white-space: pre-wrap">This seems as good a place as any to comment, since you seem to be involved in packaging DejaGnu for Fedora:</span></p> <p><span style="white-space: pre-wrap">A quick look at <a class="moz-txt-link-rfc1738" href="https://src.fedoraproject.org/rpms/dejagnu"><URL:https://src.fedoraproject.org/rpms/dejagnu></a> suggests that you should take a close look at what your packaging tests for DejaGnu are actually running; I believe that your use of RUNTESTFLAGS="--ignore pr48155.exp stats.exp" in your check scriptlet is inadvertently asking DejaGnu to *only* run stats.exp, which misses most of the testsuite.</span></p> <p><span style="white-space: pre-wrap">The comment about the issue is correct: the problem is due to a bug in Expect that should be fixed, described in <a class="moz-txt-link-rfc1738" href="https://lists.gnu.org/archive/html/dejagnu/2021-09/msg00001.html"><URL:https://lists.gnu.org/archive/html/dejagnu/2021-09/msg00001.html></a>. The issue is tracked as bug#49078 and I would welcome further discussion on that matter and work towards resolving the underlying Expect bug at <a class="moz-txt-link-rfc2396E" href="mailto:[email protected]"><[email protected]></a>.</span></p> <blockquote type="cite" cite="mid:ace_UKfrJpjL8PYE@tucnak"> <pre wrap="" class="moz-quote-pre">Note, I believe at least in GCC testsuite after the posted patches (i.e. case -> switch and -encoding binary to -translation binary) all that is needed is to run the testsuite under LC_ALL=C and then it works with both tcl8 and tcl9. </pre> </blockquote> <p>I have long had an item on my TODO list to unset CDPATH and neutralize the other "Special Shell Variables" described in the Autoconf manual.</p> <p>In Tcl, {unset ::env(CDPATH)} always works---there is no portability issue there. On the other hand, this looks like we may need LC_* set to "C" when the Tcl interpreter is started.</p> <p>Fortunately, DejaGnu has exactly an opportunity to do that: runtest(1) is actually a shell script that locates expect(1) and runtest.exp and spawns expect to run the framework and testsuite. Should LC_ALL and friends be set to "C" and exported in that shell script?</p> <p>I am inclined to do this on principle anyway: testsuite results should not be sensitive to the user's locale. The question is only whether to do it in the Tcl code or in the launcher script.</p> <p><br> </p> <p>-- Jacob</p> </body> </html> --------------kNg8EejeYtQEuaG5IgJCevZc-- --===============0671694393157754524== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQnVnLWRlamFn bnUgbWFpbGluZyBsaXN0CkJ1Zy1kZWphZ251QGdudS5vcmcKaHR0cHM6Ly9saXN0cy5nbnUub3Jn L21haWxtYW4vbGlzdGluZm8vYnVnLWRlamFnbnUK --===============0671694393157754524==--