1# CDDL HEADER START 2# 3# The contents of this file are subject to the terms of the 4# Common Development and Distribution License (the "License"). 5# You may not use this file except in compliance with the License. 6# 7# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8# or http://www.opensolaris.org/os/licensing. 9# See the License for the specific language governing permissions 10# and limitations under the License. 11# 12# When distributing Covered Code, include this CDDL HEADER in each 13# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14# If applicable, add the following below this CDDL HEADER, with the 15# fields enclosed by brackets "[]" replaced with your own identifying 16# information: Portions Copyright [yyyy] [name of copyright owner] 17# 18# CDDL HEADER END 19# 20 21# $FreeBSD$ 22 23# 24# Copyright 2012 Spectra Logic. All rights reserved. 25# Use is subject to license terms. 26# 27 28 29atf_test_case zfs_copies_001_pos cleanup 30zfs_copies_001_pos_head() 31{ 32 atf_set "descr" "Verify 'copies' property with correct arguments works or not." 33 atf_set "require.progs" zfs 34} 35zfs_copies_001_pos_body() 36{ 37 . $(atf_get_srcdir)/../../../include/default.cfg 38 . $(atf_get_srcdir)/zfs_copies.kshlib 39 . $(atf_get_srcdir)/zfs_copies.cfg 40 41 verify_disk_count "$DISKS" 1 42 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 43 ksh93 $(atf_get_srcdir)/zfs_copies_001_pos.ksh || atf_fail "Testcase failed" 44} 45zfs_copies_001_pos_cleanup() 46{ 47 . $(atf_get_srcdir)/../../../include/default.cfg 48 . $(atf_get_srcdir)/zfs_copies.kshlib 49 . $(atf_get_srcdir)/zfs_copies.cfg 50 51 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 52} 53 54 55atf_test_case zfs_copies_002_pos cleanup 56zfs_copies_002_pos_head() 57{ 58 atf_set "descr" "Verify that the space used by multiple copies is charged correctly." 59 atf_set "require.progs" zfs 60} 61zfs_copies_002_pos_body() 62{ 63 . $(atf_get_srcdir)/../../../include/default.cfg 64 . $(atf_get_srcdir)/zfs_copies.kshlib 65 . $(atf_get_srcdir)/zfs_copies.cfg 66 67 verify_disk_count "$DISKS" 1 68 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 69 ksh93 $(atf_get_srcdir)/zfs_copies_002_pos.ksh || atf_fail "Testcase failed" 70} 71zfs_copies_002_pos_cleanup() 72{ 73 . $(atf_get_srcdir)/../../../include/default.cfg 74 . $(atf_get_srcdir)/zfs_copies.kshlib 75 . $(atf_get_srcdir)/zfs_copies.cfg 76 77 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 78} 79 80 81atf_test_case zfs_copies_003_pos cleanup 82zfs_copies_003_pos_head() 83{ 84 atf_set "descr" "Verify that ZFS volume space used by multiple copies is charged correctly." 85 atf_set "require.progs" zfs 86} 87zfs_copies_003_pos_body() 88{ 89 . $(atf_get_srcdir)/../../../include/default.cfg 90 . $(atf_get_srcdir)/zfs_copies.kshlib 91 . $(atf_get_srcdir)/zfs_copies.cfg 92 93 verify_zvol_recursive 94 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 95 ksh93 $(atf_get_srcdir)/zfs_copies_003_pos.ksh || atf_fail "Testcase failed" 96} 97zfs_copies_003_pos_cleanup() 98{ 99 . $(atf_get_srcdir)/../../../include/default.cfg 100 . $(atf_get_srcdir)/zfs_copies.kshlib 101 . $(atf_get_srcdir)/zfs_copies.cfg 102 103 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 104} 105 106 107atf_test_case zfs_copies_004_neg cleanup 108zfs_copies_004_neg_head() 109{ 110 atf_set "descr" "Verify that copies property cannot be set to any value other than 1,2 or 3" 111 atf_set "require.progs" zfs 112} 113zfs_copies_004_neg_body() 114{ 115 . $(atf_get_srcdir)/../../../include/default.cfg 116 . $(atf_get_srcdir)/zfs_copies.kshlib 117 . $(atf_get_srcdir)/zfs_copies.cfg 118 119 verify_disk_count "$DISKS" 1 120 verify_disk_count "$DISKS" 1 121 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 122 ksh93 $(atf_get_srcdir)/zfs_copies_004_neg.ksh || atf_fail "Testcase failed" 123} 124zfs_copies_004_neg_cleanup() 125{ 126 . $(atf_get_srcdir)/../../../include/default.cfg 127 . $(atf_get_srcdir)/zfs_copies.kshlib 128 . $(atf_get_srcdir)/zfs_copies.cfg 129 130 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 131} 132 133 134atf_test_case zfs_copies_005_neg cleanup 135zfs_copies_005_neg_head() 136{ 137 atf_set "descr" "Verify that copies cannot be set with pool version 1" 138 atf_set "require.progs" zfs zpool 139} 140zfs_copies_005_neg_body() 141{ 142 . $(atf_get_srcdir)/../../../include/default.cfg 143 . $(atf_get_srcdir)/zfs_copies.kshlib 144 . $(atf_get_srcdir)/zfs_copies.cfg 145 146 verify_disk_count "$DISKS" 1 147 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 148 ksh93 $(atf_get_srcdir)/zfs_copies_005_neg.ksh || atf_fail "Testcase failed" 149} 150zfs_copies_005_neg_cleanup() 151{ 152 . $(atf_get_srcdir)/../../../include/default.cfg 153 . $(atf_get_srcdir)/zfs_copies.kshlib 154 . $(atf_get_srcdir)/zfs_copies.cfg 155 156 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 157} 158 159 160atf_test_case zfs_copies_006_pos cleanup 161zfs_copies_006_pos_head() 162{ 163 atf_set "descr" "Verify that ZFS volume space used by multiple copies is charged correctly." 164 atf_set "require.progs" zfs 165} 166zfs_copies_006_pos_body() 167{ 168 . $(atf_get_srcdir)/../../../include/default.cfg 169 . $(atf_get_srcdir)/zfs_copies.kshlib 170 . $(atf_get_srcdir)/zfs_copies.cfg 171 172 verify_disk_count "$DISKS" 1 173 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 174 ksh93 $(atf_get_srcdir)/zfs_copies_006_pos.ksh || atf_fail "Testcase failed" 175} 176zfs_copies_006_pos_cleanup() 177{ 178 . $(atf_get_srcdir)/../../../include/default.cfg 179 . $(atf_get_srcdir)/zfs_copies.kshlib 180 . $(atf_get_srcdir)/zfs_copies.cfg 181 182 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 183} 184 185 186atf_init_test_cases() 187{ 188 189 atf_add_test_case zfs_copies_001_pos 190 atf_add_test_case zfs_copies_002_pos 191 atf_add_test_case zfs_copies_003_pos 192 atf_add_test_case zfs_copies_004_neg 193 atf_add_test_case zfs_copies_005_neg 194 atf_add_test_case zfs_copies_006_pos 195} 196