From 93e7f8889072047276da11fe6a525d3f0ea16205 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Luis=20Salvador=20Rufo?= Date: Sat, 11 May 2024 22:40:12 +0200 Subject: [PATCH] tests/cp_files: ignore if SEEK_DATA is not defined MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Not all C libraries support SEEK_DATA (e.g., uClibc). Skip the test case cp_files if SEEK_DATA is not defined. Signed-off-by: José Luis Salvador Rufo Upstream: https://github.com/openzfs/zfs/pull/16169 --- config/user-unistd.m4 | 24 ++++++++++++++++++++++++ config/user.m4 | 1 + config/zfs-build.m4 | 1 + tests/test-runner/bin/zts-report.py.in | 1 + tests/zfs-tests/Makefile.am | 2 ++ tests/zfs-tests/cmd/Makefile.am | 6 +++++- tests/zfs-tests/tests/Makefile.am | 14 +++++++++----- 7 files changed, 43 insertions(+), 6 deletions(-) create mode 100644 config/user-unistd.m4 diff --git a/config/user-unistd.m4 b/config/user-unistd.m4 new file mode 100644 index 000000000..302bc0bde --- /dev/null +++ b/config/user-unistd.m4 @@ -0,0 +1,24 @@ +dnl # +dnl # Check for SEEK_DATA - only used for cp_files/seekflood test case. +dnl # +AC_DEFUN([ZFS_AC_CONFIG_USER_UNISTD_SEEK_DATA], [ + AC_MSG_CHECKING(whether host toolchain supports SEEK_DATA) + + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ + #ifndef _GNU_SOURCE + #define _GNU_SOURCE + #endif + #include + #if defined(SEEK_DATA) + int ok; + #else + error fail + #endif + ]])], [ + user_unistd_seek_data=yes + AC_MSG_RESULT([yes]) + ], [ + user_unistd_seek_data=no + AC_MSG_RESULT([no]) + ]) +]) diff --git a/config/user.m4 b/config/user.m4 index 6ec27a5b2..2326a44be 100644 --- a/config/user.m4 +++ b/config/user.m4 @@ -23,6 +23,7 @@ AC_DEFUN([ZFS_AC_CONFIG_USER], [ ZFS_AC_CONFIG_USER_LIBAIO ZFS_AC_CONFIG_USER_LIBATOMIC ZFS_AC_CONFIG_USER_LIBFETCH + ZFS_AC_CONFIG_USER_UNISTD_SEEK_DATA ZFS_AC_CONFIG_USER_AIO_H ZFS_AC_CONFIG_USER_CLOCK_GETTIME ZFS_AC_CONFIG_USER_PAM diff --git a/config/zfs-build.m4 b/config/zfs-build.m4 index bb5a85d81..578692676 100644 --- a/config/zfs-build.m4 +++ b/config/zfs-build.m4 @@ -294,6 +294,7 @@ AC_DEFUN([ZFS_AC_CONFIG], [ [test "x$qatsrc" != x ]) AM_CONDITIONAL([WANT_DEVNAME2DEVID], [test "x$user_libudev" = xyes ]) AM_CONDITIONAL([WANT_MMAP_LIBAIO], [test "x$user_libaio" = xyes ]) + AM_CONDITIONAL([WANT_UNISTD_SEEK_DATA], [test "x$user_unistd_seek_data" = xyes ]) AM_CONDITIONAL([PAM_ZFS_ENABLED], [test "x$enable_pam" = xyes]) ]) diff --git a/tests/test-runner/bin/zts-report.py.in b/tests/test-runner/bin/zts-report.py.in index ecc50f487..3a00345ed 100755 --- a/tests/test-runner/bin/zts-report.py.in +++ b/tests/test-runner/bin/zts-report.py.in @@ -162,6 +162,7 @@ known = { ['FAIL', rewind_reason], 'cli_user/misc/zfs_share_001_neg': ['SKIP', na_reason], 'cli_user/misc/zfs_unshare_001_neg': ['SKIP', na_reason], + 'cp_files/cp_stress': ['SKIP', 16169], 'pool_checkpoint/checkpoint_discard_busy': ['SKIP', 12053], 'privilege/setup': ['SKIP', na_reason], 'refreserv/refreserv_004_pos': ['FAIL', known_reason], diff --git a/tests/zfs-tests/Makefile.am b/tests/zfs-tests/Makefile.am index 3dd1a6452..8ae790057 100644 --- a/tests/zfs-tests/Makefile.am +++ b/tests/zfs-tests/Makefile.am @@ -13,8 +13,10 @@ scripts_zfs_tests_functional_hkdf_PROGRAMS = %D%/tests/functional/hkdf/hkdf_test %C%_tests_functional_hkdf_hkdf_test_LDADD = \ libzpool.la +if WANT_UNISTD_SEEK_DATA scripts_zfs_tests_functional_cp_filesdir = $(datadir)/$(PACKAGE)/zfs-tests/tests/functional/cp_files scripts_zfs_tests_functional_cp_files_PROGRAMS = %D%/tests/functional/cp_files/seekflood +endif if BUILD_LINUX scripts_zfs_tests_functional_tmpfiledir = $(datadir)/$(PACKAGE)/zfs-tests/tests/functional/tmpfile diff --git a/tests/zfs-tests/cmd/Makefile.am b/tests/zfs-tests/cmd/Makefile.am index 23848a82f..69bba3039 100644 --- a/tests/zfs-tests/cmd/Makefile.am +++ b/tests/zfs-tests/cmd/Makefile.am @@ -5,7 +5,6 @@ scripts_zfs_tests_bin_PROGRAMS = %D%/chg_usr_exec scripts_zfs_tests_bin_PROGRAMS += %D%/clonefile scripts_zfs_tests_bin_PROGRAMS += %D%/clone_mmap_cached scripts_zfs_tests_bin_PROGRAMS += %D%/clone_mmap_write -scripts_zfs_tests_bin_PROGRAMS += %D%/cp_files scripts_zfs_tests_bin_PROGRAMS += %D%/ctime scripts_zfs_tests_bin_PROGRAMS += %D%/dir_rd_update scripts_zfs_tests_bin_PROGRAMS += %D%/dosmode_readonly_write @@ -16,6 +15,11 @@ scripts_zfs_tests_bin_PROGRAMS += %D%/truncate_test scripts_zfs_tests_bin_PROGRAMS += %D%/zfs_diff-socket +if WANT_UNISTD_SEEK_DATA +scripts_zfs_tests_bin_PROGRAMS += %D%/cp_files +endif + + scripts_zfs_tests_bin_PROGRAMS += %D%/badsend %C%_badsend_LDADD = \ libzfs_core.la \ diff --git a/tests/zfs-tests/tests/Makefile.am b/tests/zfs-tests/tests/Makefile.am index cc66d762f..1e9f06a7e 100644 --- a/tests/zfs-tests/tests/Makefile.am +++ b/tests/zfs-tests/tests/Makefile.am @@ -1394,11 +1394,6 @@ nobase_dist_datadir_zfs_tests_tests_SCRIPTS += \ functional/compression/l2arc_encrypted.ksh \ functional/compression/l2arc_encrypted_no_compressed_arc.ksh \ functional/compression/setup.ksh \ - functional/cp_files/cleanup.ksh \ - functional/cp_files/cp_files_001_pos.ksh \ - functional/cp_files/cp_files_002_pos.ksh \ - functional/cp_files/cp_stress.ksh \ - functional/cp_files/setup.ksh \ functional/crtime/cleanup.ksh \ functional/crtime/crtime_001_pos.ksh \ functional/crtime/setup.ksh \ @@ -2108,3 +2103,12 @@ nobase_dist_datadir_zfs_tests_tests_SCRIPTS += \ functional/idmap_mount/idmap_mount_003.ksh \ functional/idmap_mount/idmap_mount_004.ksh \ functional/idmap_mount/idmap_mount_005.ksh + +if WANT_UNISTD_SEEK_DATA +nobase_dist_datadir_zfs_tests_tests_SCRIPTS += \ + functional/cp_files/cleanup.ksh \ + functional/cp_files/cp_files_001_pos.ksh \ + functional/cp_files/cp_files_002_pos.ksh \ + functional/cp_files/cp_stress.ksh \ + functional/cp_files/setup.ksh +endif -- 2.45.2