#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source.  A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#

#
# Copyright (c) 2014, 2019 by Delphix. All rights reserved.
#

pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/removal

dist_pkgdata_SCRIPTS = \
	cleanup.ksh removal_all_vdev.ksh removal_cancel.ksh \
	removal_check_space.ksh removal_condense_export.ksh \
	removal_multiple_indirection.ksh \
	removal_remap_deadlists.ksh removal_nopwrite.ksh removal_remap.ksh \
	removal_reservation.ksh removal_resume_export.ksh \
	removal_sanity.ksh removal_with_add.ksh removal_with_create_fs.ksh \
	removal_with_dedup.ksh removal_with_errors.ksh \
	removal_with_export.ksh removal_with_faulted.ksh \
	removal_with_ganging.ksh removal_with_remap.ksh \
	removal_with_remove.ksh removal_with_scrub.ksh \
	removal_with_send.ksh removal_with_send_recv.ksh \
	removal_with_snapshot.ksh removal_with_write.ksh \
	removal_with_zdb.ksh remove_mirror.ksh remove_mirror_sanity.ksh \
	remove_raidz.ksh remove_expanded.ksh remove_indirect.ksh

dist_pkgdata_DATA = \
	removal.kshlib

pkgexecdir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/removal
