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