devel/cargo-nextest: update to 0.9.115
Added
Nextest profiles now support inheritance via the inherits key. For example:
[profile.ci]
retries = 2
[profile.ci-extended]
inherits = "ci"
slow-timeout = "120s"
Thanks asder8215 for your first contribution! (#2786)
A new on-timeout option for slow-timeout allows tests that time out to be treated as successes instead of failures. This is useful for fuzz tests, or other tests where a timeout indicates no failing input was found. For example:
[[profile.default.overrides]]
filter = 'package(fuzz-targets)'
[9 lines not shown]
libansilove: Use FORCE_C_STD to gnu99.
This package uses extensions beyond strict C99 and specifying strict C99
causes implicit function declaration errors with recent versions of gcc,
notably on SunOS.
diff(3): Match GNU diff behaviour for -q option.
-q option in GNU diff overrides all previously specified output
formats and simply exits early depending on whether the input files
contain differences.
In FreeBSD diff, combining -q with other output options results
in the program printing its usage.
Matching the GNU behaviour allows using unmodified old versions of the
pkgsrc mkpatches tool with this version of diff.
sigtimedwait(2): Return EINTR, not zero, if interrupted.
sigtimedwait(2) should never return zero: zero is not a valid signal
number, and sigtimedwait(2) is only supposed to return a valid signal
number (one of the signals in the input set) or -1.
Previously, if there was a timeout and the call was interrupted with
ERESTART/EINTR for a signal other than one we're waiting for, the
logic would call copyout to update the timeout -- and overwrite the
error code we were supposed to return (ERESTART/EINTR) with the error
code of copyout, even if copyout succeeds, leading the syscall to
return the zero-initialized value of ksi.ksi_signo. This also had
the effect of completely neutering the ERESTART logic: instead of
restarting, it would just return 0.
Now we overwrite the error code only if copyout fails.
PR standards/59586: sigwaitinfo() returns ECANCELED instead of EINTR
- POSIX compliance violation
sigtimedwait(2): Return EINTR, not ECANCELED.
The return value ECANCELED was a vestige of the logic to implement
sigtimedwait(2) in the SA (scheduler activations) era of NetBSD
multithreading. It was meant to be used purely internally to
libpthread, not meant to leak outside to the caller of
sigtimedwait(2). But in the removal of SA in the newlock2 branch,
something got lost in translation and we wound up having
sigtimedwait(2) return ECANCELED when it should return EINTR when it
is interrupted by an unblocked signal that was not in the signal set
passed as an argument to wait for.
POSIX.1-2024 sigtimedwait(2) spec:
https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/functions/sigtimedwait.html
PR standards/59586: sigwaitinfo() returns ECANCELED instead of EINTR
- POSIX compliance violation