aboutsummaryrefslogtreecommitdiff
path: root/io
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2018-08-21 12:56:53 +0200
committerFlorian Weimer <fweimer@redhat.com>2018-08-21 12:56:53 +0200
commitaa42b3dbcb0326badf377fec2c7fb2f34fdabecd (patch)
tree818cd4e9c75b0dba8c982ce5d3b5def2d358ba05 /io
parentc7627f41baaeb7f1a7b73ff66ef48eaafc1990f6 (diff)
downloadglibc-aa42b3dbcb0326badf377fec2c7fb2f34fdabecd.tar
glibc-aa42b3dbcb0326badf377fec2c7fb2f34fdabecd.tar.gz
glibc-aa42b3dbcb0326badf377fec2c7fb2f34fdabecd.tar.bz2
glibc-aa42b3dbcb0326badf377fec2c7fb2f34fdabecd.zip
Avoid running some tests if the file system does not support holes
Otherwise, these tests fills up the entire disk (or just run very slowly and eventually time out).
Diffstat (limited to 'io')
-rw-r--r--io/test-lfs.c3
-rw-r--r--io/tst-copy_file_range.c7
2 files changed, 9 insertions, 1 deletions
diff --git a/io/test-lfs.c b/io/test-lfs.c
index f7721a5995..52120e9bca 100644
--- a/io/test-lfs.c
+++ b/io/test-lfs.c
@@ -25,6 +25,7 @@
#include <error.h>
#include <errno.h>
#include <sys/resource.h>
+#include <support/check.h>
/* Prototype for our test function. */
extern void do_prepare (int argc, char *argv[]);
@@ -70,6 +71,8 @@ do_prepare (int argc, char *argv[])
else
error (EXIT_FAILURE, errno, "cannot create temporary file");
}
+ if (!support_descriptor_supports_holes (fd))
+ FAIL_UNSUPPORTED ("File %s does not support holes", name);
add_temp_file (name);
if (getrlimit64 (RLIMIT_FSIZE, &rlim) != 0)
diff --git a/io/tst-copy_file_range.c b/io/tst-copy_file_range.c
index 3d531a1937..e5b46f91db 100644
--- a/io/tst-copy_file_range.c
+++ b/io/tst-copy_file_range.c
@@ -739,7 +739,12 @@ do_test (void)
*p = rand () >> 24;
infd = create_temp_file ("tst-copy_file_range-in-", &infile);
- xclose (create_temp_file ("tst-copy_file_range-out-", &outfile));
+ {
+ int outfd = create_temp_file ("tst-copy_file_range-out-", &outfile);
+ if (!support_descriptor_supports_holes (outfd))
+ FAIL_UNSUPPORTED ("File %s does not support holes", outfile);
+ xclose (outfd);
+ }
/* Try to find a different directory from the default input/output
file. */