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.tar.gz glibc-aa42b3dbcb0326badf377fec2c7fb2f34fdabecd.tar.xz 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.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 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. */ |