From aa42b3dbcb0326badf377fec2c7fb2f34fdabecd Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Tue, 21 Aug 2018 12:56:53 +0200 Subject: 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). --- misc/tst-preadvwritev-common.c | 4 ++++ misc/tst-preadvwritev64.c | 6 ++++++ 2 files changed, 10 insertions(+) (limited to 'misc') diff --git a/misc/tst-preadvwritev-common.c b/misc/tst-preadvwritev-common.c index b59a3de465..4a5e53a140 100644 --- a/misc/tst-preadvwritev-common.c +++ b/misc/tst-preadvwritev-common.c @@ -17,6 +17,7 @@ . */ #include +#include #include #include #include @@ -26,10 +27,12 @@ #include #include +#include #include static char *temp_filename; static int temp_fd; +static bool temp_fd_supports_holes; static int do_test (void); @@ -39,6 +42,7 @@ do_prepare (int argc, char **argv) temp_fd = create_temp_file ("tst-preadvwritev.", &temp_filename); if (temp_fd == -1) FAIL_EXIT1 ("cannot create temporary file"); + temp_fd_supports_holes = support_descriptor_supports_holes (temp_fd); } #define PREPARE do_prepare diff --git a/misc/tst-preadvwritev64.c b/misc/tst-preadvwritev64.c index b718da6be5..451d03e4a8 100644 --- a/misc/tst-preadvwritev64.c +++ b/misc/tst-preadvwritev64.c @@ -26,6 +26,12 @@ do_test (void) ret = do_test_with_offset (0); + if (!temp_fd_supports_holes) + { + puts ("warning: partial test due to lack of support for holes"); + return ret; + } + /* Create a sparse file larger than 4GB to check if offset is handled correctly in p{write,read}v64. */ off_t base_offset = UINT32_MAX + 2048LL; -- cgit v1.2.3