diff options
author | Florian Weimer <fweimer@redhat.com> | 2018-08-21 12:56:53 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2018-08-21 12:56:53 +0200 |
commit | aa42b3dbcb0326badf377fec2c7fb2f34fdabecd (patch) | |
tree | 818cd4e9c75b0dba8c982ce5d3b5def2d358ba05 /io | |
parent | c7627f41baaeb7f1a7b73ff66ef48eaafc1990f6 (diff) | |
download | glibc-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.c | 3 | ||||
-rw-r--r-- | io/tst-copy_file_range.c | 7 |
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. */ |