diff --git a/tests/runfiles/sanity.run b/tests/runfiles/sanity.run index b1d2c73de959..d7939dc8d18b 100644 --- a/tests/runfiles/sanity.run +++ b/tests/runfiles/sanity.run @@ -413,7 +413,7 @@ user = tags = ['functional', 'cli_user', 'zpool_list'] [tests/functional/compression] -tests = ['compress_003_pos'] +tests = ['compress_003_pos','compress_zstd_bswap'] tags = ['functional', 'compression'] [tests/functional/exec] diff --git a/tests/zfs-tests/tests/functional/compression/compress_zstd_bswap.ksh b/tests/zfs-tests/tests/functional/compression/compress_zstd_bswap.ksh new file mode 100755 index 000000000000..1d372db1e32b --- /dev/null +++ b/tests/zfs-tests/tests/functional/compression/compress_zstd_bswap.ksh @@ -0,0 +1,55 @@ +#!/bin/ksh -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright (c) 2007, Sun Microsystems Inc. All rights reserved. +# Copyright (c) 2021, Rich Ercolani. +# Use is subject to license terms. +# + +. $STF_SUITE/include/properties.shlib +. $STF_SUITE/include/libtest.shlib + +# +# DESCRIPTION: +# TODO + +typeset TESTPOOL_ZSTD_FILE=$STF_SUITE/tests/functional/compression/testpool_zstd.tar.gz +verify_runnable "both" + +function cleanup +{ + pool_destroy testpool_zstd + rm -f $TEST_BASE_DIR/testpool_zstd + +} + +log_assert "Trying to read data from variously mangled zstd datasets" +log_onexit cleanup + +tar --directory $TEST_BASE_DIR -xzSf $TESTPOOL_ZSTD_FILE +zpool import -d $TEST_BASE_DIR testpool_zstd +log_must cp /testpool_zstd/x86_64/zstd /dev/null +#log_must cp /testpool_zstd/sparc64/zstd /dev/null +log_must cp /testpool_zstd/ppc64_fbsd/zstd /dev/null + +log_pass "Reading from mangled zstd datasets works as expected." diff --git a/tests/zfs-tests/tests/functional/compression/testpool_zstd.tar.gz b/tests/zfs-tests/tests/functional/compression/testpool_zstd.tar.gz new file mode 100644 index 000000000000..bd31c4cc0921 Binary files /dev/null and b/tests/zfs-tests/tests/functional/compression/testpool_zstd.tar.gz differ