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.zip
glibc-aa42b3dbcb0326badf377fec2c7fb2f34fdabecd.tar.gz
glibc-aa42b3dbcb0326badf377fec2c7fb2f34fdabecd.tar.bz2
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 f7721a5..52120e9 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 3d531a1..e5b46f9 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. */