Subject: bug#11424: coreutils: split tests hang on /dev/zero on GNU/Hurd

From: Samuel Thibault <[email-masked]>
Date: Mon, 7 May 2012 02:55:51 +0200

Hello,

Since some time, coreutils fails in split tests on GNU/Hurd. More
precisely, these two:

split/filter:55
split --filter="head -c1 >/dev/null" -n 1 /dev/zero

split/l-chunk:39
split -n l/2 /dev/zero

It seems that these two tests assume that split will stop by itself when
given /dev/zero as input.  It does so on Linux, because /dev/zero there
has stat_buf.st_size equal to 0, and thus split does just one loop, but
on GNU/Hurd /dev/zero has stat_buf.st_size equal to LONG_MAX, and thus
split just loops for a very long time.  Posix doesn't seem to talk much
about what should be done here, but it seems to me that coreutils tests
should not assume size being zero, and for instance use dd to fetch only
the required bytes from /dev/zero.

Samuel