Skip to content

Instantly share code, notes, and snippets.

@ilovezfs
Created May 10, 2021 00:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ilovezfs/16750d7d6b6e47811513e82305dabedc to your computer and use it in GitHub Desktop.
Save ilovezfs/16750d7d6b6e47811513e82305dabedc to your computer and use it in GitHub Desktop.
From 6ad69fc57a7f8db348fc4089e6841dc063853991 Mon Sep 17 00:00:00 2001
From: ilovezfs <ilovezfs@icloud.com>
Date: Sun, 9 May 2021 04:57:52 -0700
Subject: [PATCH] macOS test changes
---
scripts/load_macos.sh | 4 +-
scripts/zfs-tests.sh | 16 +-
tests/zfs-tests/include/blkdev.shlib | 27 +++-
tests/zfs-tests/include/commands.cfg | 16 ++
tests/zfs-tests/include/default.cfg.in | 4 +-
tests/zfs-tests/include/libtest.shlib | 9 ++
tests/zfs-tests/include/tunables.cfg | 146 +++++++++---------
.../functional/atime/atime_common.kshlib | 4 +-
.../functional/checksum/filetest_001_pos.ksh | 21 ++-
.../functional/cli_root/zfs/zfs_002_pos.ksh | 4 +-
.../cli_root/zfs_diff/zfs_diff_changes.ksh | 5 +
.../cli_root/zfs_diff/zfs_diff_timestamp.ksh | 10 +-
.../cli_root/zfs_diff/zfs_diff_types.ksh | 5 +-
.../zfs_mount/zfs_mount_test_race.ksh | 1 +
.../tests/functional/inuse/inuse_004_pos.ksh | 3 +
.../functional/nopwrite/nopwrite_mtime.ksh | 4 +-
.../removal/removal_check_space.ksh | 1 +
.../removal/removal_condense_export.ksh | 1 +
.../removal/removal_multiple_indirection.ksh | 1 +
.../removal/removal_remap_deadlists.ksh | 2 +-
.../removal/removal_reservation.ksh | 1 +
.../functional/removal/removal_with_add.ksh | 1 +
.../removal/removal_with_errors.ksh | 1 +
.../removal/removal_with_faulted.ksh | 1 +
.../functional/removal/removal_with_zdb.ksh | 4 +-
.../removal/remove_attach_mirror.ksh | 1 +
.../functional/removal/remove_expanded.ksh | 1 +
.../functional/removal/remove_mirror.ksh | 1 +
.../tests/functional/removal/remove_raidz.ksh | 1 +
.../tests/functional/rsend/recv_dedup.ksh | 2 +-
.../tests/functional/rsend/rsend.kshlib | 2 +-
.../rsend/send-c_embedded_blocks.ksh | 8 +-
.../tests/functional/slog/slog_014_pos.ksh | 2 +-
.../truncate/truncate_timestamps.ksh | 2 +-
34 files changed, 212 insertions(+), 100 deletions(-)
diff --git a/scripts/load_macos.sh b/scripts/load_macos.sh
index 2e8a1880b..afff03a24 100755
--- a/scripts/load_macos.sh
+++ b/scripts/load_macos.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -x
#
# Expected to be run from the root of the source tree, as root;
# ./scripts/load_macos.sh
@@ -13,5 +13,5 @@ chown -R root:wheel /tmp/zfs.kext
kextload -v /tmp/zfs.kext || kextutil /tmp/zfs.kext
-# log stream --source --predicate 'sender == "zfs"' --style compact
+log stream --source --predicate 'sender == "zfs"' --style compact
diff --git a/scripts/zfs-tests.sh b/scripts/zfs-tests.sh
index 4ecaea6cc..5b94273a1 100755
--- a/scripts/zfs-tests.sh
+++ b/scripts/zfs-tests.sh
@@ -1,4 +1,5 @@
#!/bin/sh
+sudo zpool export -a; diskutil list|grep 21|awk '{print $NF}'|while read f; do sudo gpt destroy $f; done
#
# CDDL HEADER START
#
@@ -40,7 +41,8 @@ FILESIZE="4G"
DEFAULT_RUNFILES="common.run,$(uname | tr '[:upper:]' '[:lower:]').run"
RUNFILES=${RUNFILES:-$DEFAULT_RUNFILES}
FILEDIR=${FILEDIR:-/var/tmp}
-DISKS=${DISKS:-""}
+# DISKS=${DISKS:-""}
+DISKS="$(diskutil list |grep 21|head -3|awk '{print $NF}'|xargs)"
SINGLETEST=""
SINGLETESTUSER="root"
TAGS=""
@@ -261,6 +263,7 @@ constrain_path() {
# On FreeBSD, base system zfs utils are in /sbin and OpenZFS utils
# install to /usr/local/sbin. To avoid testing the wrong utils we
# need /usr/local to come before / in the path search order.
+ # /usr/local/opt/coreutils/libexec/gnubin
SYSTEM_DIRS="/usr/local/bin /usr/local/sbin"
SYSTEM_DIRS="$SYSTEM_DIRS /usr/bin /usr/sbin /bin /sbin $LIBEXEC_DIR"
@@ -333,8 +336,14 @@ constrain_path() {
ln -fs /usr/sbin/dseditgroup "$STF_PATH/dseditgroup"
ln -fs /usr/bin/xattr "$STF_PATH/xattr"
ln -fs /usr/sbin/createhomedir "$STF_PATH/createhomedir"
+ # ln -fs /usr/bin/awk "$STF_PATH/nawk"
+ [ -f "/usr/local/bin/gawk" ] && ln -fs /usr/local/bin/gawk "$STF_PATH/awk"
+ [ -f "/usr/local/bin/gawk" ] && ln -fs /usr/local/bin/gawk "$STF_PATH/nawk"
[ -f "/usr/local/bin/gdd" ] && ln -fs /usr/local/bin/gdd "$STF_PATH/dd"
- [ -f "/usr/local/bin/gsed" ] && ln -fs /usr/local/bin/sed "$STF_PATH/dd"
+ [ -f "/usr/local/bin/gcp" ] && ln -fs /usr/local/bin/gcp "$STF_PATH/cp"
+ [ -f "/usr/local/bin/gsed" ] && ln -fs /usr/local/bin/gsed "$STF_PATH/sed"
+ # [ -f "/usr/local/bin/gstat" ] && ln -fs /usr/local/bin/gstat "$STF_PATH/stat"
+ [ -f "/usr/local/bin/realpath" ] && ln -fs /usr/local/bin/realpath "$STF_PATH/realpath"
fi
}
@@ -740,6 +749,9 @@ elif [ "$UNAME" = "Darwin" ] ; then
# Tell ZFS to not to use /Volumes
__ZFS_MAIN_MOUNTPOINT_DIR=/
export __ZFS_MAIN_MOUNTPOINT_DIR
+ # Use /dev even with non-debug build and avoid InvariantDisks
+ ZPOOL_IMPORT_PATH=/dev
+ export ZPOOL_IMPORT_PATH
# Catalina and up has root as read/only.
# BigSur gets even harder.
sudo /sbin/mount -uw /
diff --git a/tests/zfs-tests/include/blkdev.shlib b/tests/zfs-tests/include/blkdev.shlib
index 20dcf5cb2..489c9b9c3 100644
--- a/tests/zfs-tests/include/blkdev.shlib
+++ b/tests/zfs-tests/include/blkdev.shlib
@@ -605,7 +605,11 @@ function list_file_blocks # input_file
else
AWK='awk'
fi
+log_must echo "ds: $ds"
+log_must echo "objnum: $objnum"
+ # sleep 5
log_must zpool sync -f
+ # sleep 5
zdb -dddddd $ds $objnum | $AWK -v pad=$((4<<20)) -v bs=512 '
/^$/ { looking = 0 }
looking {
@@ -647,14 +651,35 @@ function corrupt_blocks_at_level # input_file corrupt_level
sysctl kern.geom.debugflags=16
fi
- list_file_blocks $input_file | \
+ if is_macos; then
+ typeset ds="$(zfs list -H -o name $input_file)"
+ typeset pool="${ds%%/*}"
+ # log_must zpool export $pool
+ # log_must zpool import -o readonly=on $pool
+ fi
+
+ fileblocks=$TEST_BASE_DIR/fileblocks.$$
+ list_file_blocks $input_file | tee $fileblocks
+ log_must cat "$fileblocks"
+
+ if is_macos; then
+ log_must zpool export $pool
+ fi
+
+ cat "$fileblocks" | \
while read level path offset length; do
if [[ $level = $corrupt_level ]]; then
+log_must echo "running dd ..."
log_must dd if=/dev/urandom of=$path bs=512 \
count=$length seek=$offset conv=notrunc
+log_must echo "... done running dd"
fi
done
+ if is_macos; then
+ log_must zpool import $pool
+ fi
+
if is_freebsd; then
sysctl kern.geom.debugflags=$debugflags
fi
diff --git a/tests/zfs-tests/include/commands.cfg b/tests/zfs-tests/include/commands.cfg
index 299653547..bd96c0343 100644
--- a/tests/zfs-tests/include/commands.cfg
+++ b/tests/zfs-tests/include/commands.cfg
@@ -174,6 +174,22 @@ export SYSTEM_FILES_LINUX='attr
userdel
usermod'
+export SYSTEM_FILES_MACOS='chflags
+ compress
+ dd
+ diskutil
+ env
+ fsck
+ gpt
+ ls
+ md5
+ mdutil
+ mkfifo
+ showmount
+ stat
+ sysctl
+ uncompress'
+
export ZFS_FILES='zdb
zfs
zhack
diff --git a/tests/zfs-tests/include/default.cfg.in b/tests/zfs-tests/include/default.cfg.in
index fbeebff83..5e083eee2 100644
--- a/tests/zfs-tests/include/default.cfg.in
+++ b/tests/zfs-tests/include/default.cfg.in
@@ -155,7 +155,7 @@ done
export MAX_PARTITIONS=8
-case $(uname -o) in
+case $(uname -s) in
GNU/Linux)
unpack_opts="--sparse -xf"
pack_opts="--sparse -cf"
@@ -217,7 +217,7 @@ illumos)
NEWFS_DEFAULT_FS="ufs"
SLICE_PREFIX="s"
;;
-darwin)
+Darwin)
unpack_opts="xv"
pack_opts="cf"
verbose="v"
diff --git a/tests/zfs-tests/include/libtest.shlib b/tests/zfs-tests/include/libtest.shlib
index b0f74050e..1c1082cbd 100644
--- a/tests/zfs-tests/include/libtest.shlib
+++ b/tests/zfs-tests/include/libtest.shlib
@@ -102,6 +102,9 @@ function is_linux
# Return 0 if platform illumos, 1 if otherwise
function is_illumos
{
+ if is_macos; then
+ return 1
+ fi
if [[ $(uname -o) == "illumos" ]]; then
return 0
else
@@ -115,6 +118,9 @@ function is_illumos
function is_freebsd
{
+ if is_macos; then
+ return 1
+ fi
if [[ $(uname -o) == "FreeBSD" ]]; then
return 0
else
@@ -141,6 +147,9 @@ function is_macos
function is_dilos
{
+ if is_macos; then
+ return 1
+ fi
typeset ID=""
[[ -f /etc/os-release ]] && . /etc/os-release
if [[ $ID == "dilos" ]]; then
diff --git a/tests/zfs-tests/include/tunables.cfg b/tests/zfs-tests/include/tunables.cfg
index 94403c920..a1a11be78 100644
--- a/tests/zfs-tests/include/tunables.cfg
+++ b/tests/zfs-tests/include/tunables.cfg
@@ -14,80 +14,80 @@
UNAME=$(uname)
-# NAME FreeBSD tunable Linux tunable macOS tunable
+# NAME FreeBSD tunable Linux tunable macOS tunable
cat <<%%%% |
-ADMIN_SNAPSHOT UNSUPPORTED zfs_admin_snapshot
-ALLOW_REDACTED_DATASET_MOUNT allow_redacted_dataset_mount zfs_allow_redacted_dataset_mount
-ARC_MAX arc.max zfs_arc_max
-ARC_MIN arc.min zfs_arc_min
-ASYNC_BLOCK_MAX_BLOCKS async_block_max_blocks zfs_async_block_max_blocks
-CHECKSUM_EVENTS_PER_SECOND checksum_events_per_second zfs_checksum_events_per_second
-COMMIT_TIMEOUT_PCT commit_timeout_pct zfs_commit_timeout_pct
-COMPRESSED_ARC_ENABLED compressed_arc_enabled zfs_compressed_arc_enabled
-CONDENSE_INDIRECT_COMMIT_ENTRY_DELAY_MS condense.indirect_commit_entry_delay_ms zfs_condense_indirect_commit_entry_delay_ms
-CONDENSE_MIN_MAPPING_BYTES condense.min_mapping_bytes zfs_condense_min_mapping_bytes
-DBUF_CACHE_MAX_BYTES dbuf_cache.max_bytes dbuf_cache_max_bytes
-DEADMAN_CHECKTIME_MS deadman_checktime_ms zfs_deadman_checktime_ms
-DEADMAN_FAILMODE deadman_failmode zfs_deadman_failmode
-DEADMAN_SYNCTIME_MS deadman_synctime_ms zfs_deadman_synctime_ms
-DEADMAN_ZIOTIME_MS deadman_ziotime_ms zfs_deadman_ziotime_ms
-DISABLE_IVSET_GUID_CHECK disable_ivset_guid_check zfs_disable_ivset_guid_check
-INITIALIZE_CHUNK_SIZE initialize_chunk_size zfs_initialize_chunk_size
-INITIALIZE_VALUE initialize_value zfs_initialize_value
-KEEP_LOG_SPACEMAPS_AT_EXPORT keep_log_spacemaps_at_export zfs_keep_log_spacemaps_at_export
-LUA_MAX_MEMLIMIT lua.max_memlimit zfs_lua_max_memlimit
-L2ARC_MFUONLY l2arc.mfuonly l2arc_mfuonly
-L2ARC_NOPREFETCH l2arc.noprefetch l2arc_noprefetch
-L2ARC_REBUILD_BLOCKS_MIN_L2SIZE l2arc.rebuild_blocks_min_l2size l2arc_rebuild_blocks_min_l2size
-L2ARC_REBUILD_ENABLED l2arc.rebuild_enabled l2arc_rebuild_enabled
-L2ARC_TRIM_AHEAD l2arc.trim_ahead l2arc_trim_ahead
-L2ARC_WRITE_BOOST l2arc.write_boost l2arc_write_boost
-L2ARC_WRITE_MAX l2arc.write_max l2arc_write_max
-LIVELIST_CONDENSE_NEW_ALLOC livelist.condense.new_alloc zfs_livelist_condense_new_alloc
-LIVELIST_CONDENSE_SYNC_CANCEL livelist.condense.sync_cancel zfs_livelist_condense_sync_cancel
-LIVELIST_CONDENSE_SYNC_PAUSE livelist.condense.sync_pause zfs_livelist_condense_sync_pause
-LIVELIST_CONDENSE_ZTHR_CANCEL livelist.condense.zthr_cancel zfs_livelist_condense_zthr_cancel
-LIVELIST_CONDENSE_ZTHR_PAUSE livelist.condense.zthr_pause zfs_livelist_condense_zthr_pause
-LIVELIST_MAX_ENTRIES livelist.max_entries zfs_livelist_max_entries
-LIVELIST_MIN_PERCENT_SHARED livelist.min_percent_shared zfs_livelist_min_percent_shared
-MAX_DATASET_NESTING max_dataset_nesting zfs_max_dataset_nesting
-MAX_MISSING_TVDS max_missing_tvds zfs_max_missing_tvds
-METASLAB_DEBUG_LOAD metaslab.debug_load metaslab_debug_load
-METASLAB_FORCE_GANGING metaslab.force_ganging metaslab_force_ganging
-MULTIHOST_FAIL_INTERVALS multihost.fail_intervals zfs_multihost_fail_intervals
-MULTIHOST_HISTORY multihost.history zfs_multihost_history
-MULTIHOST_IMPORT_INTERVALS multihost.import_intervals zfs_multihost_import_intervals
-MULTIHOST_INTERVAL multihost.interval zfs_multihost_interval
-OVERRIDE_ESTIMATE_RECORDSIZE send.override_estimate_recordsize zfs_override_estimate_recordsize
-PREFETCH_DISABLE prefetch.disable zfs_prefetch_disable
-REBUILD_SCRUB_ENABLED rebuild_scrub_enabled zfs_rebuild_scrub_enabled
-REMOVAL_SUSPEND_PROGRESS removal_suspend_progress zfs_removal_suspend_progress
-REMOVE_MAX_SEGMENT remove_max_segment zfs_remove_max_segment
-RESILVER_MIN_TIME_MS resilver_min_time_ms zfs_resilver_min_time_ms
-SCAN_LEGACY scan_legacy zfs_scan_legacy
-SCAN_SUSPEND_PROGRESS scan_suspend_progress zfs_scan_suspend_progress
-SCAN_VDEV_LIMIT scan_vdev_limit zfs_scan_vdev_limit
-SEND_HOLES_WITHOUT_BIRTH_TIME send_holes_without_birth_time send_holes_without_birth_time
-SLOW_IO_EVENTS_PER_SECOND slow_io_events_per_second zfs_slow_io_events_per_second
-SPA_ASIZE_INFLATION spa.asize_inflation spa_asize_inflation
-SPA_DISCARD_MEMORY_LIMIT spa.discard_memory_limit zfs_spa_discard_memory_limit
-SPA_LOAD_VERIFY_DATA spa.load_verify_data spa_load_verify_data
-SPA_LOAD_VERIFY_METADATA spa.load_verify_metadata spa_load_verify_metadata
-TRIM_EXTENT_BYTES_MIN trim.extent_bytes_min zfs_trim_extent_bytes_min
-TRIM_METASLAB_SKIP trim.metaslab_skip zfs_trim_metaslab_skip
-TRIM_TXG_BATCH trim.txg_batch zfs_trim_txg_batch
-TXG_HISTORY txg.history zfs_txg_history
-TXG_TIMEOUT txg.timeout zfs_txg_timeout
-UNLINK_SUSPEND_PROGRESS UNSUPPORTED zfs_unlink_suspend_progress
-VDEV_FILE_PHYSICAL_ASHIFT vdev.file.physical_ashift vdev_file_physical_ashift
-VDEV_MIN_MS_COUNT vdev.min_ms_count zfs_vdev_min_ms_count
-VDEV_VALIDATE_SKIP vdev.validate_skip vdev_validate_skip
-VOL_INHIBIT_DEV UNSUPPORTED zvol_inhibit_dev
-VOL_MODE vol.mode zvol_volmode
-VOL_RECURSIVE vol.recursive UNSUPPORTED
-ZEVENT_LEN_MAX zevent.len_max zfs_zevent_len_max
-ZEVENT_RETAIN_MAX zevent.retain_max zfs_zevent_retain_max
-ZIO_SLOW_IO_MS zio.slow_io_ms zio_slow_io_ms
+ADMIN_SNAPSHOT UNSUPPORTED zfs_admin_snapshot zfs_admin_snapshot
+ALLOW_REDACTED_DATASET_MOUNT allow_redacted_dataset_mount zfs_allow_redacted_dataset_mount zfs_allow_redacted_dataset_mount
+ARC_MAX arc.max zfs_arc_max zfs_arc_max
+ARC_MIN arc.min zfs_arc_min zfs_arc_min
+ASYNC_BLOCK_MAX_BLOCKS async_block_max_blocks zfs_async_block_max_blocks zfs_async_block_max_blocks
+CHECKSUM_EVENTS_PER_SECOND checksum_events_per_second zfs_checksum_events_per_second zfs_checksum_events_per_second
+COMMIT_TIMEOUT_PCT commit_timeout_pct zfs_commit_timeout_pct zfs_commit_timeout_pct
+COMPRESSED_ARC_ENABLED compressed_arc_enabled zfs_compressed_arc_enabled zfs_compressed_arc_enabled
+CONDENSE_INDIRECT_COMMIT_ENTRY_DELAY_MS condense.indirect_commit_entry_delay_ms zfs_condense_indirect_commit_entry_delay_ms zfs_condense_indirect_commit_entry_delay_ms
+CONDENSE_MIN_MAPPING_BYTES condense.min_mapping_bytes zfs_condense_min_mapping_bytes zfs_condense_min_mapping_bytes
+DBUF_CACHE_MAX_BYTES dbuf_cache.max_bytes dbuf_cache_max_bytes dbuf_cache_max_bytes
+DEADMAN_CHECKTIME_MS deadman_checktime_ms zfs_deadman_checktime_ms zfs_deadman_checktime_ms
+DEADMAN_FAILMODE deadman_failmode zfs_deadman_failmode zfs_deadman_failmode
+DEADMAN_SYNCTIME_MS deadman_synctime_ms zfs_deadman_synctime_ms zfs_deadman_synctime_ms
+DEADMAN_ZIOTIME_MS deadman_ziotime_ms zfs_deadman_ziotime_ms zfs_deadman_ziotime_ms
+DISABLE_IVSET_GUID_CHECK disable_ivset_guid_check zfs_disable_ivset_guid_check zfs_disable_ivset_guid_check
+INITIALIZE_CHUNK_SIZE initialize_chunk_size zfs_initialize_chunk_size zfs_initialize_chunk_size
+INITIALIZE_VALUE initialize_value zfs_initialize_value zfs_initialize_value
+KEEP_LOG_SPACEMAPS_AT_EXPORT keep_log_spacemaps_at_export zfs_keep_log_spacemaps_at_export zfs_keep_log_spacemaps_at_export
+LUA_MAX_MEMLIMIT lua.max_memlimit zfs_lua_max_memlimit zfs_lua_max_memlimit
+L2ARC_MFUONLY l2arc.mfuonly l2arc_mfuonly l2arc_mfuonly
+L2ARC_NOPREFETCH l2arc.noprefetch l2arc_noprefetch l2arc_noprefetch
+L2ARC_REBUILD_BLOCKS_MIN_L2SIZE l2arc.rebuild_blocks_min_l2size l2arc_rebuild_blocks_min_l2size l2arc_rebuild_blocks_min_l2size
+L2ARC_REBUILD_ENABLED l2arc.rebuild_enabled l2arc_rebuild_enabled l2arc_rebuild_enabled
+L2ARC_TRIM_AHEAD l2arc.trim_ahead l2arc_trim_ahead l2arc_trim_ahead
+L2ARC_WRITE_BOOST l2arc.write_boost l2arc_write_boost l2arc_write_boost
+L2ARC_WRITE_MAX l2arc.write_max l2arc_write_max l2arc_write_max
+LIVELIST_CONDENSE_NEW_ALLOC livelist.condense.new_alloc zfs_livelist_condense_new_alloc zfs_livelist_condense_new_alloc
+LIVELIST_CONDENSE_SYNC_CANCEL livelist.condense.sync_cancel zfs_livelist_condense_sync_cancel zfs_livelist_condense_sync_cancel
+LIVELIST_CONDENSE_SYNC_PAUSE livelist.condense.sync_pause zfs_livelist_condense_sync_pause zfs_livelist_condense_sync_pause
+LIVELIST_CONDENSE_ZTHR_CANCEL livelist.condense.zthr_cancel zfs_livelist_condense_zthr_cancel zfs_livelist_condense_zthr_cancel
+LIVELIST_CONDENSE_ZTHR_PAUSE livelist.condense.zthr_pause zfs_livelist_condense_zthr_pause zfs_livelist_condense_zthr_pause
+LIVELIST_MAX_ENTRIES livelist.max_entries zfs_livelist_max_entries zfs_livelist_max_entries
+LIVELIST_MIN_PERCENT_SHARED livelist.min_percent_shared zfs_livelist_min_percent_shared zfs_livelist_min_percent_shared
+MAX_DATASET_NESTING max_dataset_nesting zfs_max_dataset_nesting zfs_max_dataset_nesting
+MAX_MISSING_TVDS max_missing_tvds zfs_max_missing_tvds zfs_max_missing_tvds
+METASLAB_DEBUG_LOAD metaslab.debug_load metaslab_debug_load metaslab_debug_load
+METASLAB_FORCE_GANGING metaslab.force_ganging metaslab_force_ganging metaslab_force_ganging
+MULTIHOST_FAIL_INTERVALS multihost.fail_intervals zfs_multihost_fail_intervals zfs_multihost_fail_intervals
+MULTIHOST_HISTORY multihost.history zfs_multihost_history zfs_multihost_history
+MULTIHOST_IMPORT_INTERVALS multihost.import_intervals zfs_multihost_import_intervals zfs_multihost_import_intervals
+MULTIHOST_INTERVAL multihost.interval zfs_multihost_interval zfs_multihost_interval
+OVERRIDE_ESTIMATE_RECORDSIZE send.override_estimate_recordsize zfs_override_estimate_recordsize zfs_override_estimate_recordsize
+PREFETCH_DISABLE prefetch.disable zfs_prefetch_disable zfs_prefetch_disable
+REBUILD_SCRUB_ENABLED rebuild_scrub_enabled zfs_rebuild_scrub_enabled zfs_rebuild_scrub_enabled
+REMOVAL_SUSPEND_PROGRESS removal_suspend_progress zfs_removal_suspend_progress zfs_removal_suspend_progress
+REMOVE_MAX_SEGMENT remove_max_segment zfs_remove_max_segment zfs_remove_max_segment
+RESILVER_MIN_TIME_MS resilver_min_time_ms zfs_resilver_min_time_ms zfs_resilver_min_time_ms
+SCAN_LEGACY scan_legacy zfs_scan_legacy zfs_scan_legacy
+SCAN_SUSPEND_PROGRESS scan_suspend_progress zfs_scan_suspend_progress zfs_scan_suspend_progress
+SCAN_VDEV_LIMIT scan_vdev_limit zfs_scan_vdev_limit zfs_scan_vdev_limit
+SEND_HOLES_WITHOUT_BIRTH_TIME send_holes_without_birth_time send_holes_without_birth_time send_holes_without_birth_time
+SLOW_IO_EVENTS_PER_SECOND slow_io_events_per_second zfs_slow_io_events_per_second zfs_slow_io_events_per_second
+SPA_ASIZE_INFLATION spa.asize_inflation spa_asize_inflation spa_asize_inflation
+SPA_DISCARD_MEMORY_LIMIT spa.discard_memory_limit zfs_spa_discard_memory_limit zfs_spa_discard_memory_limit
+SPA_LOAD_VERIFY_DATA spa.load_verify_data spa_load_verify_data spa_load_verify_data
+SPA_LOAD_VERIFY_METADATA spa.load_verify_metadata spa_load_verify_metadata spa_load_verify_metadata
+TRIM_EXTENT_BYTES_MIN trim.extent_bytes_min zfs_trim_extent_bytes_min zfs_trim_extent_bytes_min
+TRIM_METASLAB_SKIP trim.metaslab_skip zfs_trim_metaslab_skip zfs_trim_metaslab_skip
+TRIM_TXG_BATCH trim.txg_batch zfs_trim_txg_batch zfs_trim_txg_batch
+TXG_HISTORY txg.history zfs_txg_history zfs_txg_history
+TXG_TIMEOUT txg.timeout zfs_txg_timeout zfs_txg_timeout
+UNLINK_SUSPEND_PROGRESS UNSUPPORTED zfs_unlink_suspend_progress zfs_unlink_suspend_progress
+VDEV_FILE_PHYSICAL_ASHIFT vdev.file.physical_ashift vdev_file_physical_ashift vdev_file_physical_ashift
+VDEV_MIN_MS_COUNT vdev.min_ms_count zfs_vdev_min_ms_count zfs_vdev_min_ms_count
+VDEV_VALIDATE_SKIP vdev.validate_skip vdev_validate_skip vdev_validate_skip
+VOL_INHIBIT_DEV UNSUPPORTED zvol_inhibit_dev zvol_inhibit_dev
+VOL_MODE vol.mode zvol_volmode zvol_volmode
+VOL_RECURSIVE vol.recursive UNSUPPORTED UNSUPPORTED
+ZEVENT_LEN_MAX zevent.len_max zfs_zevent_len_max zfs_zevent_len_max
+ZEVENT_RETAIN_MAX zevent.retain_max zfs_zevent_retain_max zfs_zevent_retain_max
+ZIO_SLOW_IO_MS zio.slow_io_ms zio_slow_io_ms zio_slow_io_ms
%%%%
while read name FreeBSD Linux Darwin; do
eval "export ${name}=\$${UNAME}"
diff --git a/tests/zfs-tests/tests/functional/atime/atime_common.kshlib b/tests/zfs-tests/tests/functional/atime/atime_common.kshlib
index fce85c379..c171250a6 100644
--- a/tests/zfs-tests/tests/functional/atime/atime_common.kshlib
+++ b/tests/zfs-tests/tests/functional/atime/atime_common.kshlib
@@ -47,7 +47,7 @@ function check_atime_updated
if is_linux; then
typeset before=$(stat -c %X $filename)
sleep 2
- elif is_freebsd; then
+ elif ( is_freebsd || is_macos ); then
typeset before=$(stat -f %a $filename)
sleep 2
else
@@ -58,7 +58,7 @@ function check_atime_updated
if is_linux; then
typeset after=$(stat -c %X $filename)
- elif is_freebsd; then
+ elif ( is_freebsd || is_macos ); then
typeset after=$(stat -f %a $filename)
else
typeset after=$(ls -Eu $filename | awk '{print $7}')
diff --git a/tests/zfs-tests/tests/functional/checksum/filetest_001_pos.ksh b/tests/zfs-tests/tests/functional/checksum/filetest_001_pos.ksh
index 615b41f31..da9c72905 100755
--- a/tests/zfs-tests/tests/functional/checksum/filetest_001_pos.ksh
+++ b/tests/zfs-tests/tests/functional/checksum/filetest_001_pos.ksh
@@ -85,12 +85,31 @@ log_must zpool import $TESTPOOL
log_must zpool scrub $TESTPOOL
log_must wait_scrubbed $TESTPOOL
+log_must echo TESTPOOL
+log_must echo $TESTPOOL
+log_must echo firstvdev
+log_must echo $firstvdev
+log_must echo status
+log_must zpool status -P -v $TESTPOOL
+log_must echo vdev
+log_must zpool status -P -v $TESTPOOL | grep "$firstvdev"
+log_must echo awk
+log_must zpool status -P -v $TESTPOOL | grep "$firstvdev" | awk '{print $5}'
+log_must echo cksum
+cksum=$(zpool status -P -v $TESTPOOL | grep "$firstvdev" | awk '{print $5}')
+log_must echo $cksum
+
cksum=$(zpool status -P -v $TESTPOOL | grep "$firstvdev" | awk '{print $5}')
log_assert "Normal file write test saw $cksum checksum errors"
log_must [ $cksum -eq 0 ]
rm -fr $TESTDIR/*
+# for i in {1..100}
+# do
+# touch $TESTDIR/z$i.txt
+# done
+
log_assert "Test corrupting the files and seeing checksum errors"
typeset -i j=1
while [[ $j -lt ${#CHECKSUM_TYPES[*]} ]]; do
@@ -100,7 +119,7 @@ while [[ $j -lt ${#CHECKSUM_TYPES[*]} ]]; do
-b $WRITESZ -c $NWRITES -d R
# Corrupt the level 0 blocks of this file
- corrupt_blocks_at_level $TESTDIR/test_$type
+ log_must corrupt_blocks_at_level $TESTDIR/test_$type
log_must zpool scrub $TESTPOOL
log_must wait_scrubbed $TESTPOOL
diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs/zfs_002_pos.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs/zfs_002_pos.ksh
index b475960c9..d3b776941 100755
--- a/tests/zfs-tests/tests/functional/cli_root/zfs/zfs_002_pos.ksh
+++ b/tests/zfs-tests/tests/functional/cli_root/zfs/zfs_002_pos.ksh
@@ -48,7 +48,7 @@ function cleanup
{
unset ZFS_ABORT
- if is_freebsd && [[ -n $savedcorefile ]]; then
+ if (is_freebsd || is_macos) && [[ -n $savedcorefile ]]; then
sysctl kern.corefile=$savedcorefile
fi
@@ -100,7 +100,7 @@ if is_linux; then
echo "$corefile" >/proc/sys/kernel/core_pattern
echo 0 >/proc/sys/kernel/core_uses_pid
export ASAN_OPTIONS="abort_on_error=1:disable_coredump=0"
-elif is_freebsd; then
+elif is_freebsd || is_macos; then
ulimit -c unlimited
savedcorefile=$(sysctl -n kern.corefile)
log_must sysctl kern.corefile=$corepath/core.%N
diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_diff/zfs_diff_changes.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_diff/zfs_diff_changes.ksh
index 51a1b4aa1..a9114865a 100755
--- a/tests/zfs-tests/tests/functional/cli_root/zfs_diff/zfs_diff_changes.ksh
+++ b/tests/zfs-tests/tests/functional/cli_root/zfs_diff/zfs_diff_changes.ksh
@@ -66,6 +66,9 @@ FILEDIFF="$TESTDIR/zfs-diff.txt"
# 1. Create a filesystem with both files and directories, then snapshot it
log_must zfs create $DATASET
MNTPOINT="$(get_prop mountpoint $DATASET)"
+log_must echo "MOUNTPOINT: $MNTPOINT"
+MNTPOINT=$(realpath "$MNTPOINT")
+log_must echo "REALMOUNTPOINT: $MNTPOINT"
log_must touch "$MNTPOINT/fremoved"
log_must touch "$MNTPOINT/frenamed"
log_must touch "$MNTPOINT/fmodified"
@@ -84,6 +87,8 @@ log_must touch "$MNTPOINT/dmodified/file"
log_must touch "$MNTPOINT/fcreated"
log_must mkdir "$MNTPOINT/dcreated"
log_must zfs snapshot "$TESTSNAP2"
+log_must echo "actual diff:"
+log_must zfs diff -F testpool/testfs/fs@snap1 testpool/testfs/fs@snap2
verify_object_change "$MNTPOINT/fremoved" "-"
verify_object_change "$MNTPOINT/frenamed.new" "R"
verify_object_change "$MNTPOINT/fmodified" "M"
diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_diff/zfs_diff_timestamp.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_diff/zfs_diff_timestamp.ksh
index a4cedca49..fea37bfad 100755
--- a/tests/zfs-tests/tests/functional/cli_root/zfs_diff/zfs_diff_timestamp.ksh
+++ b/tests/zfs-tests/tests/functional/cli_root/zfs_diff/zfs_diff_timestamp.ksh
@@ -65,6 +65,12 @@ MNTPOINT="$(get_prop mountpoint $DATASET)"
FILEDIFF="$TESTDIR/zfs-diff.txt"
FILENUM=5
+log_must rm -rfv "$MNTPOINT/.{,_.}{fseventsd,Spotlight-V*}"
+log_must mkdir -pv "$MNTPOINT/.fseventsd"
+log_must touch "$MNTPOINT/.fseventsd/no_log" "$MNTPOINT/.metadata_never_index"
+log_must mdutil -i off "$MNTPOINT"
+log_must mdutil -X "$MNTPOINT"
+
# 1. Create a snapshot
log_must zfs snapshot "$TESTSNAP1"
@@ -84,7 +90,9 @@ do
continue;
fi
- if is_freebsd; then
+ log_must echo PATH
+ log_must echo "$PATH"
+ if ( is_freebsd || is_macos ); then
filetime="$(stat -f "%c" $file)"
else
filetime="$(stat -c '%Z' $file)"
diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_diff/zfs_diff_types.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_diff/zfs_diff_types.ksh
index 8e521b9f5..255230d58 100755
--- a/tests/zfs-tests/tests/functional/cli_root/zfs_diff/zfs_diff_types.ksh
+++ b/tests/zfs-tests/tests/functional/cli_root/zfs_diff/zfs_diff_types.ksh
@@ -70,7 +70,7 @@ DATASET="$TESTPOOL/$TESTFS/fs"
TESTSNAP1="$DATASET@snap1"
TESTSNAP2="$DATASET@snap2"
FILEDIFF="$TESTDIR/zfs-diff.txt"
-if is_freebsd; then
+if ( is_freebsd || is_macos ); then
MAJOR=$(stat -f %Hr /dev/null)
MINOR=$(stat -f %Lr /dev/null)
else
@@ -81,6 +81,7 @@ fi
# 1. Prepare a dataset
log_must zfs create $DATASET
MNTPOINT="$(get_prop mountpoint $DATASET)"
+MNTPOINT=$(realpath "$MNTPOINT")
log_must zfs set devices=on $DATASET
log_must zfs set xattr=sa $DATASET
@@ -111,7 +112,7 @@ verify_object_class "$MNTPOINT/cdev" "C"
# 2. | (Named pipe)
log_must zfs snapshot "$TESTSNAP1"
-if is_freebsd; then
+if is_freebsd || is_macos; then
log_must mkfifo "$MNTPOINT/fifo"
else
log_must mknod "$MNTPOINT/fifo" p
diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_test_race.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_test_race.ksh
index 135b31354..a106076ae 100755
--- a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_test_race.ksh
+++ b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_test_race.ksh
@@ -39,6 +39,7 @@
verify_runnable "both"
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
+TMPDIR=$(realpath $TMPDIR)
MNTPT=$TMPDIR/zfs_mount_test_race_mntpt
DISK1="$TMPDIR/zfs_mount_test_race_disk1"
DISK2="$TMPDIR/zfs_mount_test_race_disk2"
diff --git a/tests/zfs-tests/tests/functional/inuse/inuse_004_pos.ksh b/tests/zfs-tests/tests/functional/inuse/inuse_004_pos.ksh
index a9725e06d..69fd6a628 100755
--- a/tests/zfs-tests/tests/functional/inuse/inuse_004_pos.ksh
+++ b/tests/zfs-tests/tests/functional/inuse/inuse_004_pos.ksh
@@ -75,6 +75,9 @@ function mini_format
elif is_freebsd; then
gpart create -s gpt $disk
typeset -i retval=$?
+ elif is_macos; then
+ gpt create $disk
+ typeset -i retval=$?
else
typeset format_file=$TEST_BASE_DIR/format_in.$$.1
echo "partition" > $format_file
diff --git a/tests/zfs-tests/tests/functional/nopwrite/nopwrite_mtime.ksh b/tests/zfs-tests/tests/functional/nopwrite/nopwrite_mtime.ksh
index 039b661e2..b59fcd28e 100755
--- a/tests/zfs-tests/tests/functional/nopwrite/nopwrite_mtime.ksh
+++ b/tests/zfs-tests/tests/functional/nopwrite/nopwrite_mtime.ksh
@@ -51,7 +51,7 @@ if is_linux; then
o_atime=$(stat -c %X $TESTDIR/clone/file)
o_ctime=$(stat -c %Z $TESTDIR/clone/file)
o_mtime=$(stat -c %Y $TESTDIR/clone/file)
-elif is_freebsd; then
+elif ( is_freebsd || is_macos ); then
o_atime=$(stat -f "%a" $TESTDIR/clone/file)
o_ctime=$(stat -f "%c" $TESTDIR/clone/file)
o_mtime=$(stat -f "%m" $TESTDIR/clone/file)
@@ -70,7 +70,7 @@ if is_linux; then
atime=$(stat -c %X $TESTDIR/clone/file)
ctime=$(stat -c %Z $TESTDIR/clone/file)
mtime=$(stat -c %Y $TESTDIR/clone/file)
-elif is_freebsd; then
+elif ( is_freebsd || is_macos ); then
atime=$(stat -f "%a" $TESTDIR/clone/file)
ctime=$(stat -f "%c" $TESTDIR/clone/file)
mtime=$(stat -f "%m" $TESTDIR/clone/file)
diff --git a/tests/zfs-tests/tests/functional/removal/removal_check_space.ksh b/tests/zfs-tests/tests/functional/removal/removal_check_space.ksh
index dec692ada..34b2f7c89 100755
--- a/tests/zfs-tests/tests/functional/removal/removal_check_space.ksh
+++ b/tests/zfs-tests/tests/functional/removal/removal_check_space.ksh
@@ -22,6 +22,7 @@
. $STF_SUITE/tests/functional/removal/removal.kshlib
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
+TMPDIR=$(realpath $TMPDIR)
log_must mkfile $MINVDEVSIZE $TMPDIR/dsk1
log_must mkfile $MINVDEVSIZE $TMPDIR/dsk2
DISKS="$TMPDIR/dsk1 $TMPDIR/dsk2"
diff --git a/tests/zfs-tests/tests/functional/removal/removal_condense_export.ksh b/tests/zfs-tests/tests/functional/removal/removal_condense_export.ksh
index 7648900ac..ab5085bf2 100755
--- a/tests/zfs-tests/tests/functional/removal/removal_condense_export.ksh
+++ b/tests/zfs-tests/tests/functional/removal/removal_condense_export.ksh
@@ -85,6 +85,7 @@ sync_pool $TESTPOOL
sleep 4
sync_pool $TESTPOOL
log_must zpool export $TESTPOOL
+sudo rm /etc/zfs/zpool.cache
zdb -e -p $REMOVEDISKPATH $TESTPOOL | grep 'Condensing indirect vdev' || \
log_fail "Did not export during a condense."
log_must zdb -e -p $REMOVEDISKPATH -cudi $TESTPOOL
diff --git a/tests/zfs-tests/tests/functional/removal/removal_multiple_indirection.ksh b/tests/zfs-tests/tests/functional/removal/removal_multiple_indirection.ksh
index 6c52fd781..128117337 100755
--- a/tests/zfs-tests/tests/functional/removal/removal_multiple_indirection.ksh
+++ b/tests/zfs-tests/tests/functional/removal/removal_multiple_indirection.ksh
@@ -45,6 +45,7 @@
#
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
+TMPDIR=$(realpath $TMPDIR)
log_must mkfile $(($MINVDEVSIZE * 2)) $TMPDIR/dsk1
log_must mkfile $(($MINVDEVSIZE * 2)) $TMPDIR/dsk2
DISKS="$TMPDIR/dsk1 $TMPDIR/dsk2"
diff --git a/tests/zfs-tests/tests/functional/removal/removal_remap_deadlists.ksh b/tests/zfs-tests/tests/functional/removal/removal_remap_deadlists.ksh
index 934802286..213390c08 100755
--- a/tests/zfs-tests/tests/functional/removal/removal_remap_deadlists.ksh
+++ b/tests/zfs-tests/tests/functional/removal/removal_remap_deadlists.ksh
@@ -34,7 +34,7 @@ log_must zfs snapshot $TESTPOOL/$TESTFS@snap-pre2
log_must dd if=/dev/zero of=$TESTDIR/file bs=1024k count=100 \
conv=notrunc seek=200
-if is_linux || is_freebsd; then
+if is_linux || is_freebsd || is_macos; then
log_must attempt_during_removal $TESTPOOL $REMOVEDISK zdb -cd $TESTPOOL
else
log_must attempt_during_removal $TESTPOOL $REMOVEDISK
diff --git a/tests/zfs-tests/tests/functional/removal/removal_reservation.ksh b/tests/zfs-tests/tests/functional/removal/removal_reservation.ksh
index bf0c202ec..081f262ee 100755
--- a/tests/zfs-tests/tests/functional/removal/removal_reservation.ksh
+++ b/tests/zfs-tests/tests/functional/removal/removal_reservation.ksh
@@ -22,6 +22,7 @@
. $STF_SUITE/tests/functional/removal/removal.kshlib
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
+TMPDIR=$(realpath $TMPDIR)
log_must mkfile 1g $TMPDIR/dsk1
log_must mkfile 1g $TMPDIR/dsk2
DISKS="$TMPDIR/dsk1 $TMPDIR/dsk2"
diff --git a/tests/zfs-tests/tests/functional/removal/removal_with_add.ksh b/tests/zfs-tests/tests/functional/removal/removal_with_add.ksh
index 7ec6c8675..b2c758baf 100755
--- a/tests/zfs-tests/tests/functional/removal/removal_with_add.ksh
+++ b/tests/zfs-tests/tests/functional/removal/removal_with_add.ksh
@@ -22,6 +22,7 @@
. $STF_SUITE/tests/functional/removal/removal.kshlib
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
+TMPDIR=$(realpath $TMPDIR)
log_must mkfile 1g $TMPDIR/dsk1
log_must mkfile 1g $TMPDIR/dsk2
diff --git a/tests/zfs-tests/tests/functional/removal/removal_with_errors.ksh b/tests/zfs-tests/tests/functional/removal/removal_with_errors.ksh
index 9d5143ef8..9f391ab44 100755
--- a/tests/zfs-tests/tests/functional/removal/removal_with_errors.ksh
+++ b/tests/zfs-tests/tests/functional/removal/removal_with_errors.ksh
@@ -45,6 +45,7 @@
#
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
+TMPDIR=$(realpath $TMPDIR)
DISK0=$TMPDIR/dsk0
DISK1=$TMPDIR/dsk1
DISK2=$TMPDIR/dsk2
diff --git a/tests/zfs-tests/tests/functional/removal/removal_with_faulted.ksh b/tests/zfs-tests/tests/functional/removal/removal_with_faulted.ksh
index 44d222860..d2a694daf 100755
--- a/tests/zfs-tests/tests/functional/removal/removal_with_faulted.ksh
+++ b/tests/zfs-tests/tests/functional/removal/removal_with_faulted.ksh
@@ -64,6 +64,7 @@
#
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
+TMPDIR=$(realpath $TMPDIR)
DISK0=$TMPDIR/dsk0
DISK1=$TMPDIR/dsk1
DISK2=$TMPDIR/dsk2
diff --git a/tests/zfs-tests/tests/functional/removal/removal_with_zdb.ksh b/tests/zfs-tests/tests/functional/removal/removal_with_zdb.ksh
index 5c469259a..2ba286f06 100755
--- a/tests/zfs-tests/tests/functional/removal/removal_with_zdb.ksh
+++ b/tests/zfs-tests/tests/functional/removal/removal_with_zdb.ksh
@@ -21,7 +21,9 @@
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/removal/removal.kshlib
-zdbout=${TMPDIR:-$TEST_BASE_DIR}/zdbout.$$
+TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
+TMPDIR=$(realpath $TMPDIR)
+zdbout="$TMPDIR/zdbout.$$"
if is_linux; then
log_unsupported "ZDB fails during concurrent pool activity."
diff --git a/tests/zfs-tests/tests/functional/removal/remove_attach_mirror.ksh b/tests/zfs-tests/tests/functional/removal/remove_attach_mirror.ksh
index 9bbb07cd9..882c61929 100755
--- a/tests/zfs-tests/tests/functional/removal/remove_attach_mirror.ksh
+++ b/tests/zfs-tests/tests/functional/removal/remove_attach_mirror.ksh
@@ -33,6 +33,7 @@
#
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
+TMPDIR=$(realpath $TMPDIR)
DISK1="$TMPDIR/dsk1"
DISK2="$TMPDIR/dsk2"
diff --git a/tests/zfs-tests/tests/functional/removal/remove_expanded.ksh b/tests/zfs-tests/tests/functional/removal/remove_expanded.ksh
index e7e63b705..4f86581b8 100755
--- a/tests/zfs-tests/tests/functional/removal/remove_expanded.ksh
+++ b/tests/zfs-tests/tests/functional/removal/remove_expanded.ksh
@@ -33,6 +33,7 @@
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
+TMPDIR=$(realpath $TMPDIR)
DISK0=$TMPDIR/dsk0
DISK1=$TMPDIR/dsk1
DISK2=$TMPDIR/dsk2
diff --git a/tests/zfs-tests/tests/functional/removal/remove_mirror.ksh b/tests/zfs-tests/tests/functional/removal/remove_mirror.ksh
index 06335b703..fad5f8011 100755
--- a/tests/zfs-tests/tests/functional/removal/remove_mirror.ksh
+++ b/tests/zfs-tests/tests/functional/removal/remove_mirror.ksh
@@ -22,6 +22,7 @@
. $STF_SUITE/tests/functional/removal/removal.kshlib
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
+TMPDIR=$(realpath $TMPDIR)
DISK1="$TMPDIR/dsk1"
DISK2="$TMPDIR/dsk2"
diff --git a/tests/zfs-tests/tests/functional/removal/remove_raidz.ksh b/tests/zfs-tests/tests/functional/removal/remove_raidz.ksh
index 98d4536a1..b9e632a56 100755
--- a/tests/zfs-tests/tests/functional/removal/remove_raidz.ksh
+++ b/tests/zfs-tests/tests/functional/removal/remove_raidz.ksh
@@ -22,6 +22,7 @@
. $STF_SUITE/tests/functional/removal/removal.kshlib
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
+TMPDIR=$(realpath $TMPDIR)
log_must mkfile $MINVDEVSIZE $TMPDIR/dsk1
log_must mkfile $MINVDEVSIZE $TMPDIR/dsk2
log_must mkfile $MINVDEVSIZE $TMPDIR/dsk3
diff --git a/tests/zfs-tests/tests/functional/rsend/recv_dedup.ksh b/tests/zfs-tests/tests/functional/rsend/recv_dedup.ksh
index e6e282a1c..981ddd86e 100755
--- a/tests/zfs-tests/tests/functional/rsend/recv_dedup.ksh
+++ b/tests/zfs-tests/tests/functional/rsend/recv_dedup.ksh
@@ -48,6 +48,6 @@ log_must eval "zstream redup $sendfile | zfs recv -d $TESTPOOL/recv"
log_must mkdir /$TESTPOOL/tar
log_must tar --directory /$TESTPOOL/tar -xzf $tarfile
-log_must diff -r /$TESTPOOL/tar /$TESTPOOL/recv
+log_must diff -x '.Spotlight-V100' -x '.VolumeIcon.icns' -x '.fseventsd' -r /$TESTPOOL/tar /$TESTPOOL/recv
log_pass "zfs can receive dedup send streams with 'zstream redup'"
diff --git a/tests/zfs-tests/tests/functional/rsend/rsend.kshlib b/tests/zfs-tests/tests/functional/rsend/rsend.kshlib
index 26755e87d..3edbcfb6e 100644
--- a/tests/zfs-tests/tests/functional/rsend/rsend.kshlib
+++ b/tests/zfs-tests/tests/functional/rsend/rsend.kshlib
@@ -204,7 +204,7 @@ function cmp_ds_cont
srcdir=$(get_prop mountpoint $src_fs)
dstdir=$(get_prop mountpoint $dst_fs)
- diff -r $srcdir $dstdir > /dev/null 2>&1
+ diff -x '.Spotlight-V100' -x '.VolumeIcon.icns' -x '.fseventsd' -r $srcdir $dstdir > /dev/null 2>&1
return $?
}
diff --git a/tests/zfs-tests/tests/functional/rsend/send-c_embedded_blocks.ksh b/tests/zfs-tests/tests/functional/rsend/send-c_embedded_blocks.ksh
index 70f79b317..6a7e95373 100755
--- a/tests/zfs-tests/tests/functional/rsend/send-c_embedded_blocks.ksh
+++ b/tests/zfs-tests/tests/functional/rsend/send-c_embedded_blocks.ksh
@@ -53,13 +53,13 @@ for recsize in "${recsize_prop_vals[@]}"; do
# For lz4, this method works for blocks up to 16k, but not larger
[[ $recsize -eq $((32 * 1024)) ]] && break
- if is_linux || is_freebsd; then
+ if is_illumos
+ log_must mkholes -h 0:$((recsize - 8)) -d $((recsize - 8)):8 \
+ $dir/$recsize
+ else
log_must truncate -s $recsize $dir/$recsize
log_must dd if=/dev/urandom of=$dir/$recsize \
seek=$((recsize - 8)) bs=1 count=8 conv=notrunc
- else
- log_must mkholes -h 0:$((recsize - 8)) -d $((recsize - 8)):8 \
- $dir/$recsize
fi
done
diff --git a/tests/zfs-tests/tests/functional/slog/slog_014_pos.ksh b/tests/zfs-tests/tests/functional/slog/slog_014_pos.ksh
index f8530a623..8e6b5f7c8 100755
--- a/tests/zfs-tests/tests/functional/slog/slog_014_pos.ksh
+++ b/tests/zfs-tests/tests/functional/slog/slog_014_pos.ksh
@@ -64,7 +64,7 @@ for type in "mirror" "raidz" "raidz2"; do
# Corrupt a pool device to make the pool DEGRADED
# The oseek value below is to skip past the vdev label.
#
- if is_linux || is_freebsd; then
+ if is_linux || is_freebsd || is_macos; then
log_must dd if=/dev/urandom of=$VDIR/a bs=1024k \
seek=4 conv=notrunc count=50
else
diff --git a/tests/zfs-tests/tests/functional/truncate/truncate_timestamps.ksh b/tests/zfs-tests/tests/functional/truncate/truncate_timestamps.ksh
index 27b28e82e..2ba2f9554 100755
--- a/tests/zfs-tests/tests/functional/truncate/truncate_timestamps.ksh
+++ b/tests/zfs-tests/tests/functional/truncate/truncate_timestamps.ksh
@@ -38,7 +38,7 @@ function verify_truncate # <filename> <filesize> <option>
typeset option="$3"
log_must mkfile $sizeavg $filename # always start with $sizeavg
- if is_freebsd; then
+ if ( is_freebsd || is_macos ); then
typeset -i timestm="$(stat -f "%m" $filename)"
typeset -i timestc="$(stat -f "%c" $filename)"
log_must sleep 1
--
2.24.3 (Apple Git-128)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment