du_test: Skip three tests if sparse files are not supported

This fixes running the du tests with /tmp as tmpfs (which is what we do in the
CheriBSD CI).

Obtained from:	CheriBSD
Reviewed By:	ngie
Differential Revision: https://reviews.freebsd.org/D28398
This commit is contained in:
Alex Richardson 2021-02-03 16:07:05 +00:00
parent b67df8d7c2
commit 39a1f858ad

View File

@ -24,6 +24,17 @@
#
# $FreeBSD$
require_sparse_file_support()
{
if ! getconf MIN_HOLE_SIZE "$(pwd)"; then
echo "getconf MIN_HOLE_SIZE $(pwd) failed; sparse files " \
"probably not supported by file system"
mount
atf_skip "Test's work directory does not support sparse files;" \
"try with a different TMPDIR?"
fi
}
atf_test_case A_flag
A_flag_head()
{
@ -31,6 +42,7 @@ A_flag_head()
}
A_flag_body()
{
require_sparse_file_support
# XXX: compressed volumes?
atf_check truncate -s 10g sparse.file
atf_check -o inline:'1\tsparse.file\n' du -g sparse.file
@ -103,6 +115,7 @@ g_flag_head()
}
g_flag_body()
{
require_sparse_file_support
atf_check truncate -s 1k A
atf_check truncate -s 1m B
atf_check truncate -s 1g C
@ -117,6 +130,7 @@ h_flag_head()
}
h_flag_body()
{
require_sparse_file_support
atf_check truncate -s 1k A
atf_check truncate -s 1m B
atf_check truncate -s 1g C