git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[Problem] test_must_fail makes possibly questionable assumptions about exit_code.

From
Randall S. Becker <rsbecker@nexbridge.com>
Date
Feb 27, 2018, 23:50 UTC
Message-ID
<005501d3b025$c0057ce0$401076a0$@nexbridge.com>
Hi all,

After months of arguing with some platform developers on this subject, the perl spec was held over my head repeatedly about a few lines that are causing issues. The basic problem is this line (test-lib-functions.sh, line 633, still in ffa952497)

>        elif test $exit_code -gt 129 && test $exit_code -le 192
>       then
>               echo >&2 "test_must_fail: died by signal $(($exit_code -
128)):

According to the perl spec http://perldoc.perl.org/functions/die.html, die basically takes whatever errno is, mods it with 256 and there you go. EBADF is what is used when perl reads from stdin and calls die - that's standard perl. In most systems, you end up with something useful, when EBADF is 9. But when it is 4009, you get a garbage answer (4009 mod 256 a.k.a. 169). However, only 128-165 are technically reserved for signals, rather than all the way up to 192, which may be true in some places but not everywhere.

The advice (I'm putting that nicely) I received was to use exit so that the result is predictable - unlikely to be useful in the 15K test suites in git. However, dropping this to 165 conditionally might help.

I'm looking for what approach to take here, because I don't think I'm going to get perl fixed any time soon, or the error number range on the platform fixed ... ever.

This is causing only two breaks that I have lived with and probably still could. Consider me begging for a suggestion.

Sincerest, Randall

-- Brief whoami:
 NonStop developer since approximately 211288444200000000
 UNIX developer since approximately 421664400
-- In my real life, I talk too much.
Next: Jonathan Nieder
Message 1 of 26 in “[Problem] test_must_fail makes possibly questionable assumptions about exit_code.”
  1. Randall S. BeckerFeb 27, 2018
  2. Jonathan NiederFeb 28, 2018
  3. Eric WongFeb 28, 2018
  4. Jeff KingFeb 28, 2018
  5. Eric WongFeb 28, 2018
  6. Jeff KingFeb 28, 2018
  7. Randall S. BeckerFeb 28, 2018
  8. demerphqFeb 28, 2018
  9. Jeff KingMar 1, 2018
  10. demerphqMar 1, 2018
  11. Randall S. BeckerMar 1, 2018
  12. Jeff KingMar 1, 2018
  13. demerphqMar 1, 2018
  14. Junio C HamanoFeb 28, 2018
  15. demerphqFeb 28, 2018
  16. Randall S. BeckerFeb 28, 2018
  17. demerphqFeb 28, 2018
  18. demerphqFeb 28, 2018
  19. Randall S. BeckerFeb 28, 2018
  20. Jonathan NiederFeb 28, 2018
  21. Randall S. BeckerFeb 28, 2018
  22. Jonathan NiederFeb 28, 2018
  23. Randall S. BeckerFeb 28, 2018
  24. Randall S. BeckerFeb 28, 2018
  25. Jonathan NiederFeb 28, 2018
  26. Jeff KingMar 1, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.