bug#79077: host_execute and non-zero exit status

Jacob Bachmeyer <[email protected]> Fri, 25 Jul 2025 23:21:19 -0500
Newsgroups gmane.comp.sysutils.dejagnu.bugs
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--===============7301436782006702973==
Content-Type: multipart/alternative;
 boundary="------------KxHWx8eLwPywVayIUMliwlbA"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------KxHWx8eLwPywVayIUMliwlbA
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 7/25/25 06:30, Marc Nieper-Wißkirchen wrote:
> Hi,
>
> Am Fr., 25. Juli 2025 um 04:14 Uhr schrieb Jacob Bachmeyer<[email protected]>:
>
> [...]
>
>> Am Do., 24. Juli 2025 um 05:09 Uhr schrieb Jacob Bachmeyer<[email protected]>:
>>
>> On 7/23/25 02:31, Marc Nieper-Wißkirchen wrote:
>> [...]
>>
>> [...]  DejaGnu generally supports running tests on "remote" target boards and a target connected over a serial line is unlikely to return an exit code.  The only way to be sure that a dependency on the exit code will not creep in is to ignore the exit code.
> With the recent addition of the "END" token, this is probably moot;
> without, how would have DejaGnu handled a test running remotely, say
> over a serial line, where the connection drops early? I saw a non-zero
> exit code as an analogue of such a dropped connection, which could be
> expressed by an "UNRESOLVED" result.

Previously, DejaGnu gave no indication that anything was wrong if a unit 
test program failed to complete, although older versions used a "Totals" 
line as an implicit end marker.  This was changed when the unit testing 
protocol was documented to avoid possible misfires if a unit test 
happens to emit a line beginning with "Totals"; the new "END" marker 
uses a syntax that is explicitly documented as reserved for unit test 
messages to the framework.

>> [...]
>>
>> An initial solution has been pushed to Savannah on the PR79077 branch. DejaGnu can now be run directly from a Git checkout, you should be able to simply pass RUNTEST=/full/name/of/working/tree/runtest on the "make check" command line.
> That is great news. Thank you! Moreover, thank you very much for your
> ideas about the Valgrind mapper; very helpful, indeed.

You are welcome.

Since an improvement has been merged to Git master, this closes the bug 
report.


-- Jacob


--------------KxHWx8eLwPywVayIUMliwlbA
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 7/25/25 06:30, Marc
      Nieper-Wißkirchen wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAEYrNrQBX8imEtC0vRrwiOSFb4C0Lc8TpcvFVMYZZuVwVG=Axg@mail.gmail.com">
      <pre wrap="" class="moz-quote-pre">Hi,

Am Fr., 25. Juli 2025 um 04:14 Uhr schrieb Jacob Bachmeyer <a class="moz-txt-link-rfc2396E" href="mailto:[email protected]">&lt;[email protected]&gt;</a>:

[...]

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">Am Do., 24. Juli 2025 um 05:09 Uhr schrieb Jacob Bachmeyer <a class="moz-txt-link-rfc2396E" href="mailto:[email protected]">&lt;[email protected]&gt;</a>:

On 7/23/25 02:31, Marc Nieper-Wißkirchen wrote:
[...]

[...]  DejaGnu generally supports running tests on "remote" target boards and a target connected over a serial line is unlikely to return an exit code.  The only way to be sure that a dependency on the exit code will not creep in is to ignore the exit code.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
With the recent addition of the "END" token, this is probably moot;
without, how would have DejaGnu handled a test running remotely, say
over a serial line, where the connection drops early? I saw a non-zero
exit code as an analogue of such a dropped connection, which could be
expressed by an "UNRESOLVED" result.</pre>
    </blockquote>
    <p>Previously, DejaGnu gave no indication that anything was wrong if
      a unit test program failed to complete, although older versions
      used a "Totals" line as an implicit end marker.  This was changed
      when the unit testing protocol was documented to avoid possible
      misfires if a unit test happens to emit a line beginning with
      "Totals"; the new "END" marker uses a syntax that is explicitly
      documented as reserved for unit test messages to the framework.<span
      style="white-space: pre-wrap">
</span><span style="white-space: pre-wrap">
</span></p>
    <blockquote type="cite"
cite="mid:CAEYrNrQBX8imEtC0vRrwiOSFb4C0Lc8TpcvFVMYZZuVwVG=Axg@mail.gmail.com">
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">[...]

An initial solution has been pushed to Savannah on the PR79077 branch. DejaGnu can now be run directly from a Git checkout, you should be able to simply pass RUNTEST=/full/name/of/working/tree/runtest on the "make check" command line.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
That is great news. Thank you! Moreover, thank you very much for your
ideas about the Valgrind mapper; very helpful, indeed.</pre>
    </blockquote>
    <p>You are welcome.</p>
    <p>Since an improvement has been merged to Git master, this closes
      the bug report.</p>
    <p><br>
    </p>
    <p>-- Jacob<br>
    </p>
    <p><br>
    </p>
  </body>
</html>

--------------KxHWx8eLwPywVayIUMliwlbA--




--===============7301436782006702973==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQnVnLWRlamFn
bnUgbWFpbGluZyBsaXN0CkJ1Zy1kZWphZ251QGdudS5vcmcKaHR0cHM6Ly9saXN0cy5nbnUub3Jn
L21haWxtYW4vbGlzdGluZm8vYnVnLWRlamFnbnUK

--===============7301436782006702973==--