[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: coreutils-5.0: test failure on tail-2/big-4gb
From: |
Jim Meyering |
Subject: |
Re: coreutils-5.0: test failure on tail-2/big-4gb |
Date: |
Thu, 10 Apr 2003 10:38:50 +0200 |
Michael Deutschmann <address@hidden> wrote:
> I get the following test failure:
>
> make[3]: Entering directory `/vol/resv/build/cu-build/tests/tail-2'
> dd: advancing past 4294967288 bytes in output file `big': Invalid argument
> ../../../coreutils-5.0/tests/tail-2/big-4gb: failure in testing framework
> FAIL: big-4gb
>
> It looks like the problem is that the test assumes large files are
> supported -- they are not on my system. Like the "8gb" test it should
> always be skipped on a non-lfs filesystem.
>
> Note that "big-4gb" is an "expensive" test, so this is only noticable if
> "RUN_EXPENSIVE_TESTS=yes" is set.
Thank you for that report.
Here's the fix:
* tests/tail-2/big-4gb: Skip this test (don't fail) if creating a
file with nominal length > 4GB fails. Reported by Michael Deutschmann.
Index: big-4gb
===================================================================
RCS file: /fetish/cu/tests/tail-2/big-4gb,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -p -u -r1.6 -r1.7
--- big-4gb 9 Oct 2002 07:28:11 -0000 1.6
+++ big-4gb 10 Apr 2003 08:36:41 -0000 1.7
@@ -21,14 +21,17 @@ cd $tmp || framework_failure=1
# Create a file of size exactly 4GB (2^32) with 8 bytes
# at the beginning and another set of 8 bytes at the end.
# The rest will be NUL bytes. On most modern systems, the following
-# creates a file that takes up only a few KB. Here, du -sh says 16KB.
+# creates a file that takes up only a few KB. Here, du -sh says 16K.
echo abcdefgh | tr -d '\n' > big || framework_failure=1
echo 87654321 | tr -d '\n' > tmp || framework_failure=1
# Seek 4GB - 8
dd bs=1 seek=4294967288 if=tmp of=big 2> err || dd_failed=1
if test "$dd_failed" = 1; then
cat err 1>&2
- framework_failure=1
+ echo "$0: cannot create a file large enough for this test," 1>&2
+ echo "$0: possibly because this system doesn't support large files;" 1>&2
+ echo "$0: Consider rerunning this test on a different file system." 1>&2
+ (exit 77); exit 77
fi
if test $framework_failure = 1; then