GNU bug report logs -
#74503
Test issues in "make check"
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 74503 in the body.
You can then email your comments to 74503 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-coreutils <at> gnu.org
:
bug#74503
; Package
coreutils
.
(Sun, 24 Nov 2024 05:36:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Gordon Steemson <gsteemso <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-coreutils <at> gnu.org
.
(Sun, 24 Nov 2024 05:36:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Setup: Coreutils package, v. 9.5; Power Mac G5 running OS 10.5.8 (Darwin 9.8.0).
When running `make check`, I noticed the following two problems.
- tests/ls/dired.sh can’t cope with the underlying file system stealthily applying normalization to the Unicode encoding, so I was presented with a failed test and an error message complaining that “2á != 2á”.
- tests/misc/tee.sh seems to be missing a pipe. Without adding “ |” to the end of line 99, the test freezes solid because it waits forever for input that will never come. I'm baffled that it works for anyone else... perhaps some bizarre quirk of shell syntax causes the output of one line to automagically become the input of the next, if conditions are correct? The mechanism by which it is somehow accidentally working for other people is beyond my knowledge of shell scripting.
It seems to be working other than these. Several of the tests do deem themselves inapplicable for reasons that don't appear to match reality, such as tests/csplit/csplit-heap.sh believing that `ulimit -v` is absent when it is present; but as those are not actual test _failures_, I am disinclined to spend time digging into them unless someone specifically asks me to.
Gordon Steemson
Information forwarded
to
bug-coreutils <at> gnu.org
:
bug#74503
; Package
coreutils
.
(Sun, 24 Nov 2024 08:36:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 74503 <at> debbugs.gnu.org (full text, mbox):
On 11/24/24 06:34, Gordon Steemson wrote:
> Setup: Coreutils package, v. 9.5; Power Mac G5 running OS 10.5.8 (Darwin 9.8.0).
>
> When running `make check`, I noticed the following two problems.
>
> - tests/ls/dired.sh can’t cope with the underlying file system stealthily applying normalization to the Unicode encoding, so I was presented with a failed test and an error message complaining that “2á != 2á”.
>
> - tests/misc/tee.sh seems to be missing a pipe. Without adding “ |” to the end of line 99, the test freezes solid because it waits forever for input that will never come. I'm baffled that it works for anyone else... perhaps some bizarre quirk of shell syntax causes the output of one line to automagically become the input of the next, if conditions are correct? The mechanism by which it is somehow accidentally working for other people is beyond my knowledge of shell scripting.
97 dd count=20 bs=100K if=/dev/zero status=none |
98 {
99 dd count=0 oflag=nonblock status=none
100 tee || { cleanup_; touch tee.fail; }
101 } >fifo
Both commands between the { ... }, i.e., dd(1) on line 99 and tee(1),
are consuming the input from the dd(1) command on line 97.
> It seems to be working other than these. Several of the tests do deem themselves inapplicable for reasons that don't appear to match reality, such as tests/csplit/csplit-heap.sh believing that `ulimit -v` is absent when it is present; but as those are not actual test _failures_, I am disinclined to spend time digging into them unless someone specifically asks me to.
>
> Gordon Steemson
Thanks for the reports, but please also provide the original testsuite.log as
'make check' instructs at the end of the output. We need it to analyze further.
Have a nice day,
Berny
Information forwarded
to
bug-coreutils <at> gnu.org
:
bug#74503
; Package
coreutils
.
(Sun, 24 Nov 2024 13:12:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 74503 <at> debbugs.gnu.org (full text, mbox):
On 24/11/2024 05:34, Gordon Steemson wrote:
> Setup: Coreutils package, v. 9.5; Power Mac G5 running OS 10.5.8 (Darwin 9.8.0).
>
> When running `make check`, I noticed the following two problems.
>
> - tests/ls/dired.sh can’t cope with the underlying file system stealthily applying normalization to the Unicode encoding, so I was presented with a failed test and an error message complaining that “2á != 2á”.
I pushed a fix to use æ instead, as that does not have a separate decomposed form.
> - tests/misc/tee.sh seems to be missing a pipe. Without adding “ |” to the end of line 99, the test freezes solid because it waits forever for input that will never come. I'm baffled that it works for anyone else... perhaps some bizarre quirk of shell syntax causes the output of one line to automagically become the input of the next, if conditions are correct? The mechanism by which it is somehow accidentally working for other people is beyond my knowledge of shell scripting.
The script is OK I think. darwin 9 is old (nearly 20 years old now!),
so perhaps its poll vs select behavior is divergent enough with more recent macOS to be problematic.
Could you try with this adjustment to the code.
You can run that test in isolation with: make TESTS=tests/misc/tee.sh SUBDIRS=. check
diff --git a/src/iopoll.c b/src/iopoll.c
index 8e5c92dd8..9adc51bb2 100644
--- a/src/iopoll.c
+++ b/src/iopoll.c
@@ -23,7 +23,7 @@
a readable event). Also use poll(2) on systems we know work
and/or are already using poll (linux). */
-#if defined _AIX || defined __sun || defined __APPLE__ || \
+#if defined _AIX || defined __sun || \
defined __linux__ || defined __ANDROID__
# define IOPOLL_USES_POLL 1
/* Check we've not enabled gnulib's poll module
cheers,
Pádraig
Information forwarded
to
bug-coreutils <at> gnu.org
:
bug#74503
; Package
coreutils
.
(Tue, 26 Nov 2024 04:29:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 74503 <at> debbugs.gnu.org (full text, mbox):
Hello again,
> On Nov 24, 2024, at 5:10 AM, Pádraig Brady <P <at> draigbrady.com> wrote:
>
> On 24/11/2024 05:34, Gordon Steemson wrote:
>> Setup: [...]
I should also have added that the tests were running under the latest Bash 5.2.37 rather than the stock Bash 3.2, though fortunately it doesn't seem to have mattered.
>> an error message complaining that “2á != 2á”.
>
> I pushed a fix to use æ instead, as that does not have a separate decomposed form.
I can confirm that works.
>> - tests/misc/tee.sh [...]
>
> The script is OK I think. darwin 9 is old (nearly 20 years old now!),
> so perhaps its poll vs select behavior is divergent enough with more recent macOS to be problematic.
> Could you try with this adjustment to the code.
> [...]
Got to admit I never would have guessed that one in a million years, but you appear to have been exactly right – your proposed tweak worked perfectly.
Thank you -- both 'make check' issues I encountered are now resolved.
Gordon S.
Reply sent
to
Pádraig Brady <P <at> draigBrady.com>
:
You have taken responsibility.
(Tue, 26 Nov 2024 15:07:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Gordon Steemson <gsteemso <at> gmail.com>
:
bug acknowledged by developer.
(Tue, 26 Nov 2024 15:07:02 GMT)
Full text and
rfc822 format available.
Message #19 received at 74503-done <at> debbugs.gnu.org (full text, mbox):
On 26/11/2024 04:27, Gordon Steemson wrote:
> Hello again,
>
>> On Nov 24, 2024, at 5:10 AM, Pádraig Brady <P <at> draigbrady.com> wrote:
>>
>> On 24/11/2024 05:34, Gordon Steemson wrote:
>>> Setup: [...]
>
> I should also have added that the tests were running under the latest Bash 5.2.37 rather than the stock Bash 3.2, though fortunately it doesn't seem to have mattered.
>
>>> an error message complaining that “2á != 2á”.
>>
>> I pushed a fix to use æ instead, as that does not have a separate decomposed form.
>
> I can confirm that works.
>
>>> - tests/misc/tee.sh [...]
>>
>> The script is OK I think. darwin 9 is old (nearly 20 years old now!),
>> so perhaps its poll vs select behavior is divergent enough with more recent macOS to be problematic.
>> Could you try with this adjustment to the code.
>> [...]
>
> Got to admit I never would have guessed that one in a million years, but you appear to have been exactly right – your proposed tweak worked perfectly.
>
> Thank you -- both 'make check' issues I encountered are now resolved.
Thanks for the confirmation.
I'll apply the following to address this.
Marking this as done.
thanks,
Pádraig
commit 4a4377f8697385b0676d08b51d10694afca1d9bf (HEAD -> master)Author: Pádraig Brady <P <at> draigBrady.com>
Date: Tue Nov 26 14:04:32 2024 +0000
tail,tee: fix broken pipe detection on darwin 9
* src/iopoll.c (): Restrict use of poll() on macOS
to >= 11 (darwin 20), as it was seen to fail on macOS 10.5.
Fixes https://bugs.gnu.org/74503
diff --git a/src/iopoll.c b/src/iopoll.c
index 8e5c92dd8..174048639 100644
--- a/src/iopoll.c
+++ b/src/iopoll.c
@@ -21,10 +21,11 @@
/* poll(2) is needed on AIX (where 'select' gives a readable
event immediately) and Solaris (where 'select' never gave
a readable event). Also use poll(2) on systems we know work
- and/or are already using poll (linux). */
-
-#if defined _AIX || defined __sun || defined __APPLE__ || \
- defined __linux__ || defined __ANDROID__
+ and/or are already using poll (linux). On macOS we know poll()
+ doesn't work on 10.5, while it does work on >= 11 at least. */
+#if defined _AIX || defined __sun \
+ || defined __linux__ || defined __ANDROID__ \
+ || __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 110000
# define IOPOLL_USES_POLL 1
/* Check we've not enabled gnulib's poll module
as that will emulate poll() in a way not
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 25 Dec 2024 12:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 176 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.