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# 22# Copyright 2012 Spectra Logic. All rights reserved. 23# Use is subject to license terms. 24# 25 26 27atf_test_case zfs_share_001_pos cleanup 28zfs_share_001_pos_head() 29{ 30 atf_set "descr" "Verify that 'zfs share' succeeds as root." 31 atf_set "require.progs" "ksh93 zfs svcs" 32} 33zfs_share_001_pos_body() 34{ 35 . $(atf_get_srcdir)/../../../include/default.cfg 36 . $(atf_get_srcdir)/zfs_share.cfg 37 38 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 39 ksh93 $(atf_get_srcdir)/zfs_share_001_pos.ksh || atf_fail "Testcase failed" 40} 41zfs_share_001_pos_cleanup() 42{ 43 . $(atf_get_srcdir)/../../../include/default.cfg 44 . $(atf_get_srcdir)/zfs_share.cfg 45 46 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 47} 48 49 50atf_test_case zfs_share_002_pos cleanup 51zfs_share_002_pos_head() 52{ 53 atf_set "descr" "Verify that zfs share with a non-existent file system fails." 54 atf_set "require.progs" "ksh93 zfs svcs" 55} 56zfs_share_002_pos_body() 57{ 58 . $(atf_get_srcdir)/../../../include/default.cfg 59 . $(atf_get_srcdir)/zfs_share.cfg 60 61 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 62 ksh93 $(atf_get_srcdir)/zfs_share_002_pos.ksh || atf_fail "Testcase failed" 63} 64zfs_share_002_pos_cleanup() 65{ 66 . $(atf_get_srcdir)/../../../include/default.cfg 67 . $(atf_get_srcdir)/zfs_share.cfg 68 69 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 70} 71 72 73atf_test_case zfs_share_003_pos cleanup 74zfs_share_003_pos_head() 75{ 76 atf_set "descr" "Verify that '$ZFS share' with a file systemwhose sharenfs property is 'off' \will fail with return code 1." 77 atf_set "require.progs" "ksh93 zfs svcs" 78} 79zfs_share_003_pos_body() 80{ 81 . $(atf_get_srcdir)/../../../include/default.cfg 82 . $(atf_get_srcdir)/zfs_share.cfg 83 84 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 85 ksh93 $(atf_get_srcdir)/zfs_share_003_pos.ksh || atf_fail "Testcase failed" 86} 87zfs_share_003_pos_cleanup() 88{ 89 . $(atf_get_srcdir)/../../../include/default.cfg 90 . $(atf_get_srcdir)/zfs_share.cfg 91 92 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 93} 94 95 96atf_test_case zfs_share_004_pos cleanup 97zfs_share_004_pos_head() 98{ 99 atf_set "descr" "Verify that a file system and its snapshot are shared." 100 atf_set "require.progs" "ksh93 zfs svcs" 101} 102zfs_share_004_pos_body() 103{ 104 . $(atf_get_srcdir)/../../../include/default.cfg 105 . $(atf_get_srcdir)/zfs_share.cfg 106 107 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 108 ksh93 $(atf_get_srcdir)/zfs_share_004_pos.ksh || atf_fail "Testcase failed" 109} 110zfs_share_004_pos_cleanup() 111{ 112 . $(atf_get_srcdir)/../../../include/default.cfg 113 . $(atf_get_srcdir)/zfs_share.cfg 114 115 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 116} 117 118 119atf_test_case zfs_share_005_pos cleanup 120zfs_share_005_pos_head() 121{ 122 atf_set "descr" "Verify that NFS share options are propagated correctly." 123 atf_set "require.progs" "ksh93 zfs share svcs" 124} 125zfs_share_005_pos_body() 126{ 127 . $(atf_get_srcdir)/../../../include/default.cfg 128 . $(atf_get_srcdir)/zfs_share.cfg 129 130 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 131 ksh93 $(atf_get_srcdir)/zfs_share_005_pos.ksh || atf_fail "Testcase failed" 132} 133zfs_share_005_pos_cleanup() 134{ 135 . $(atf_get_srcdir)/../../../include/default.cfg 136 . $(atf_get_srcdir)/zfs_share.cfg 137 138 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 139} 140 141 142atf_test_case zfs_share_006_pos cleanup 143zfs_share_006_pos_head() 144{ 145 atf_set "descr" "Verify that a dataset could not be shared,but its sub-filesystems could be shared." 146 atf_set "require.progs" "ksh93 zfs svcs" 147} 148zfs_share_006_pos_body() 149{ 150 . $(atf_get_srcdir)/../../../include/default.cfg 151 . $(atf_get_srcdir)/zfs_share.cfg 152 153 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 154 ksh93 $(atf_get_srcdir)/zfs_share_006_pos.ksh || atf_fail "Testcase failed" 155} 156zfs_share_006_pos_cleanup() 157{ 158 . $(atf_get_srcdir)/../../../include/default.cfg 159 . $(atf_get_srcdir)/zfs_share.cfg 160 161 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 162} 163 164 165atf_test_case zfs_share_007_neg cleanup 166zfs_share_007_neg_head() 167{ 168 atf_set "descr" "Verify that invalid share parameters and options are caught." 169 atf_set "require.progs" "ksh93 zfs share svcs" 170} 171zfs_share_007_neg_body() 172{ 173 . $(atf_get_srcdir)/../../../include/default.cfg 174 . $(atf_get_srcdir)/zfs_share.cfg 175 176 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 177 ksh93 $(atf_get_srcdir)/zfs_share_007_neg.ksh || atf_fail "Testcase failed" 178} 179zfs_share_007_neg_cleanup() 180{ 181 . $(atf_get_srcdir)/../../../include/default.cfg 182 . $(atf_get_srcdir)/zfs_share.cfg 183 184 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 185} 186 187 188atf_test_case zfs_share_008_neg cleanup 189zfs_share_008_neg_head() 190{ 191 atf_set "descr" "Verify that sharing a dataset other than filesystem fails." 192 atf_set "require.progs" "ksh93 zfs svcs" 193} 194zfs_share_008_neg_body() 195{ 196 . $(atf_get_srcdir)/../../../include/default.cfg 197 . $(atf_get_srcdir)/zfs_share.cfg 198 199 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 200 ksh93 $(atf_get_srcdir)/zfs_share_008_neg.ksh || atf_fail "Testcase failed" 201} 202zfs_share_008_neg_cleanup() 203{ 204 . $(atf_get_srcdir)/../../../include/default.cfg 205 . $(atf_get_srcdir)/zfs_share.cfg 206 207 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 208} 209 210 211atf_test_case zfs_share_009_neg cleanup 212zfs_share_009_neg_head() 213{ 214 atf_set "descr" "zfs share fails with shared filesystem" 215 atf_set "require.progs" "ksh93 zfs share svcs" 216} 217zfs_share_009_neg_body() 218{ 219 . $(atf_get_srcdir)/../../../include/default.cfg 220 . $(atf_get_srcdir)/zfs_share.cfg 221 222 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 223 ksh93 $(atf_get_srcdir)/zfs_share_009_neg.ksh || atf_fail "Testcase failed" 224} 225zfs_share_009_neg_cleanup() 226{ 227 . $(atf_get_srcdir)/../../../include/default.cfg 228 . $(atf_get_srcdir)/zfs_share.cfg 229 230 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 231} 232 233 234atf_test_case zfs_share_009_pos cleanup 235zfs_share_009_pos_head() 236{ 237 atf_set "descr" "Verify umount/rollback/destroy fails does not unshare the sharedfile system" 238 atf_set "require.progs" "ksh93 zfs svcs" 239} 240zfs_share_009_pos_body() 241{ 242 . $(atf_get_srcdir)/../../../include/default.cfg 243 . $(atf_get_srcdir)/zfs_share.cfg 244 245 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 246 ksh93 $(atf_get_srcdir)/zfs_share_009_pos.ksh || atf_fail "Testcase failed" 247} 248zfs_share_009_pos_cleanup() 249{ 250 . $(atf_get_srcdir)/../../../include/default.cfg 251 . $(atf_get_srcdir)/zfs_share.cfg 252 253 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 254} 255 256 257atf_test_case zfs_share_010_neg cleanup 258zfs_share_010_neg_head() 259{ 260 atf_set "descr" "zfs share fails with bad parameters" 261 atf_set "require.progs" "ksh93 zfs svcs" 262} 263zfs_share_010_neg_body() 264{ 265 . $(atf_get_srcdir)/../../../include/default.cfg 266 . $(atf_get_srcdir)/zfs_share.cfg 267 268 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 269 ksh93 $(atf_get_srcdir)/zfs_share_010_neg.ksh || atf_fail "Testcase failed" 270} 271zfs_share_010_neg_cleanup() 272{ 273 . $(atf_get_srcdir)/../../../include/default.cfg 274 . $(atf_get_srcdir)/zfs_share.cfg 275 276 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 277} 278 279 280atf_init_test_cases() 281{ 282 283 atf_add_test_case zfs_share_001_pos 284 atf_add_test_case zfs_share_002_pos 285 atf_add_test_case zfs_share_003_pos 286 atf_add_test_case zfs_share_004_pos 287 atf_add_test_case zfs_share_005_pos 288 atf_add_test_case zfs_share_006_pos 289 atf_add_test_case zfs_share_007_neg 290 atf_add_test_case zfs_share_008_neg 291 atf_add_test_case zfs_share_009_neg 292 atf_add_test_case zfs_share_009_pos 293 atf_add_test_case zfs_share_010_neg 294} 295