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_mount_001_pos cleanup 28zfs_mount_001_pos_head() 29{ 30 atf_set "descr" "Verify that '$ZFS $mountcmd <filesystem>' succeeds as root." 31 atf_set "require.progs" "ksh93 zfs" 32} 33zfs_mount_001_pos_body() 34{ 35 . $(atf_get_srcdir)/../../../include/default.cfg 36 . $(atf_get_srcdir)/zfs_mount.kshlib 37 . $(atf_get_srcdir)/zfs_mount.cfg 38 39 verify_disk_count "$DISKS" 1 40 if other_pools_exist; then 41 atf_skip "Can't test unmount -a with existing pools" 42 fi 43 44 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 45 ksh93 $(atf_get_srcdir)/zfs_mount_001_pos.ksh || atf_fail "Testcase failed" 46} 47zfs_mount_001_pos_cleanup() 48{ 49 . $(atf_get_srcdir)/../../../include/default.cfg 50 . $(atf_get_srcdir)/zfs_mount.kshlib 51 . $(atf_get_srcdir)/zfs_mount.cfg 52 53 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 54} 55 56 57atf_test_case zfs_mount_002_pos cleanup 58zfs_mount_002_pos_head() 59{ 60 atf_set "descr" "Verify that '$ZFS $mountcmd' with a filesystemwhose name is not in 'zfs list' will fail with return code 1." 61 atf_set "require.progs" "ksh93 zfs" 62} 63zfs_mount_002_pos_body() 64{ 65 . $(atf_get_srcdir)/../../../include/default.cfg 66 . $(atf_get_srcdir)/zfs_mount.kshlib 67 . $(atf_get_srcdir)/zfs_mount.cfg 68 69 verify_disk_count "$DISKS" 1 70 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 71 ksh93 $(atf_get_srcdir)/zfs_mount_002_pos.ksh || atf_fail "Testcase failed" 72} 73zfs_mount_002_pos_cleanup() 74{ 75 . $(atf_get_srcdir)/../../../include/default.cfg 76 . $(atf_get_srcdir)/zfs_mount.kshlib 77 . $(atf_get_srcdir)/zfs_mount.cfg 78 79 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 80} 81 82 83atf_test_case zfs_mount_003_pos cleanup 84zfs_mount_003_pos_head() 85{ 86 atf_set "descr" "Verify that '$ZFS $mountcmd' with a filesystemwhose mountpoint property is 'legacy' or 'none' \will fail with return code 1." 87 atf_set "require.progs" "ksh93 zfs" 88} 89zfs_mount_003_pos_body() 90{ 91 . $(atf_get_srcdir)/../../../include/default.cfg 92 . $(atf_get_srcdir)/zfs_mount.kshlib 93 . $(atf_get_srcdir)/zfs_mount.cfg 94 95 verify_disk_count "$DISKS" 1 96 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 97 ksh93 $(atf_get_srcdir)/zfs_mount_003_pos.ksh || atf_fail "Testcase failed" 98} 99zfs_mount_003_pos_cleanup() 100{ 101 . $(atf_get_srcdir)/../../../include/default.cfg 102 . $(atf_get_srcdir)/zfs_mount.kshlib 103 . $(atf_get_srcdir)/zfs_mount.cfg 104 105 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 106} 107 108 109atf_test_case zfs_mount_004_pos cleanup 110zfs_mount_004_pos_head() 111{ 112 atf_set "descr" "Verify that '$ZFS $mountcmd <filesystem>'with a mounted filesystem will fail with return code 1." 113 atf_set "require.progs" "ksh93 zfs" 114} 115zfs_mount_004_pos_body() 116{ 117 . $(atf_get_srcdir)/../../../include/default.cfg 118 . $(atf_get_srcdir)/zfs_mount.kshlib 119 . $(atf_get_srcdir)/zfs_mount.cfg 120 121 verify_disk_count "$DISKS" 1 122 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 123 ksh93 $(atf_get_srcdir)/zfs_mount_004_pos.ksh || atf_fail "Testcase failed" 124} 125zfs_mount_004_pos_cleanup() 126{ 127 . $(atf_get_srcdir)/../../../include/default.cfg 128 . $(atf_get_srcdir)/zfs_mount.kshlib 129 . $(atf_get_srcdir)/zfs_mount.cfg 130 131 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 132} 133 134 135atf_test_case zfs_mount_005_pos cleanup 136zfs_mount_005_pos_head() 137{ 138 atf_set "descr" "Verify that '$ZFS $mountcmd' with a filesystemwhose mountpoint is currently in use will fail with return code 1." 139 atf_set "require.progs" "ksh93 zfs" 140} 141zfs_mount_005_pos_body() 142{ 143 [[ `uname -s` = "FreeBSD" ]] && atf_skip "Unlike Illumos, FreeBSD allows the behavior the prohibition of which is tested by this testcase" 144 . $(atf_get_srcdir)/../../../include/default.cfg 145 . $(atf_get_srcdir)/zfs_mount.kshlib 146 . $(atf_get_srcdir)/zfs_mount.cfg 147 148 verify_disk_count "$DISKS" 1 149 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 150 ksh93 $(atf_get_srcdir)/zfs_mount_005_pos.ksh || atf_fail "Testcase failed" 151} 152zfs_mount_005_pos_cleanup() 153{ 154 . $(atf_get_srcdir)/../../../include/default.cfg 155 . $(atf_get_srcdir)/zfs_mount.kshlib 156 . $(atf_get_srcdir)/zfs_mount.cfg 157 158 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 159} 160 161 162atf_test_case zfs_mount_006_pos cleanup 163zfs_mount_006_pos_head() 164{ 165 atf_set "descr" "Verify that '$ZFS $mountcmd <filesystem>'which mountpoint be the identical or the top of an existing one \will fail with return code 1." 166 atf_set "require.progs" "ksh93 zfs" 167} 168zfs_mount_006_pos_body() 169{ 170 [[ `uname -s` = "FreeBSD" ]] && atf_skip "Unlike Illumos, FreeBSD allows the behavior the prohibition of which is tested by this testcase" 171 . $(atf_get_srcdir)/../../../include/default.cfg 172 . $(atf_get_srcdir)/zfs_mount.kshlib 173 . $(atf_get_srcdir)/zfs_mount.cfg 174 175 verify_disk_count "$DISKS" 1 176 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 177 ksh93 $(atf_get_srcdir)/zfs_mount_006_pos.ksh || atf_fail "Testcase failed" 178} 179zfs_mount_006_pos_cleanup() 180{ 181 . $(atf_get_srcdir)/../../../include/default.cfg 182 . $(atf_get_srcdir)/zfs_mount.kshlib 183 . $(atf_get_srcdir)/zfs_mount.cfg 184 185 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 186} 187 188 189atf_test_case zfs_mount_007_pos cleanup 190zfs_mount_007_pos_head() 191{ 192 atf_set "descr" "Verify '-o' will set filesystem property temporarily,without affecting the property that is stored on disk." 193 atf_set "require.progs" "ksh93 zfs" 194} 195zfs_mount_007_pos_body() 196{ 197 . $(atf_get_srcdir)/../../../include/default.cfg 198 . $(atf_get_srcdir)/zfs_mount.kshlib 199 . $(atf_get_srcdir)/zfs_mount.cfg 200 201 verify_disk_count "$DISKS" 1 202 atf_expect_fail "PR 115361 zfs get setuid doesn't reflect setuid state as set by zfs mount" 203 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 204 ksh93 $(atf_get_srcdir)/zfs_mount_007_pos.ksh || atf_fail "Testcase failed" 205} 206zfs_mount_007_pos_cleanup() 207{ 208 . $(atf_get_srcdir)/../../../include/default.cfg 209 . $(atf_get_srcdir)/zfs_mount.kshlib 210 . $(atf_get_srcdir)/zfs_mount.cfg 211 212 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 213} 214 215 216atf_test_case zfs_mount_008_pos cleanup 217zfs_mount_008_pos_head() 218{ 219 atf_set "descr" "Verify 'zfs mount -O' will override existing mount point." 220 atf_set "require.progs" "ksh93 zfs" 221} 222zfs_mount_008_pos_body() 223{ 224 . $(atf_get_srcdir)/../../../include/default.cfg 225 . $(atf_get_srcdir)/zfs_mount.kshlib 226 . $(atf_get_srcdir)/zfs_mount.cfg 227 228 verify_disk_count "$DISKS" 1 229 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 230 ksh93 $(atf_get_srcdir)/zfs_mount_008_pos.ksh || atf_fail "Testcase failed" 231} 232zfs_mount_008_pos_cleanup() 233{ 234 . $(atf_get_srcdir)/../../../include/default.cfg 235 . $(atf_get_srcdir)/zfs_mount.kshlib 236 . $(atf_get_srcdir)/zfs_mount.cfg 237 238 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 239} 240 241 242atf_test_case zfs_mount_009_neg cleanup 243zfs_mount_009_neg_head() 244{ 245 atf_set "descr" "Badly-formed 'zfs $mountcmd' with inapplicable scenariosshould return an error." 246 atf_set "require.progs" "ksh93 zfs" 247} 248zfs_mount_009_neg_body() 249{ 250 . $(atf_get_srcdir)/../../../include/default.cfg 251 . $(atf_get_srcdir)/zfs_mount.kshlib 252 . $(atf_get_srcdir)/zfs_mount.cfg 253 254 if other_pools_exist; then 255 atf_skip "Can't test unmount -a with existing pools" 256 fi 257 258 verify_disk_count "$DISKS" 1 259 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 260 ksh93 $(atf_get_srcdir)/zfs_mount_009_neg.ksh || atf_fail "Testcase failed" 261} 262zfs_mount_009_neg_cleanup() 263{ 264 . $(atf_get_srcdir)/../../../include/default.cfg 265 . $(atf_get_srcdir)/zfs_mount.kshlib 266 . $(atf_get_srcdir)/zfs_mount.cfg 267 268 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 269} 270 271 272atf_test_case zfs_mount_010_neg cleanup 273zfs_mount_010_neg_head() 274{ 275 atf_set "descr" "zfs mount fails with mounted filesystem or busy mountpoint" 276 atf_set "require.progs" "ksh93 zfs" 277} 278zfs_mount_010_neg_body() 279{ 280 [[ `uname -s` = "FreeBSD" ]] && atf_skip "Unlike Illumos, FreeBSD allows the behavior the prohibition of which is tested by this testcase" 281 . $(atf_get_srcdir)/../../../include/default.cfg 282 . $(atf_get_srcdir)/zfs_mount.kshlib 283 . $(atf_get_srcdir)/zfs_mount.cfg 284 285 verify_disk_count "$DISKS" 1 286 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 287 ksh93 $(atf_get_srcdir)/zfs_mount_010_neg.ksh || atf_fail "Testcase failed" 288} 289zfs_mount_010_neg_cleanup() 290{ 291 . $(atf_get_srcdir)/../../../include/default.cfg 292 . $(atf_get_srcdir)/zfs_mount.kshlib 293 . $(atf_get_srcdir)/zfs_mount.cfg 294 295 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 296} 297 298 299atf_test_case zfs_mount_011_neg cleanup 300zfs_mount_011_neg_head() 301{ 302 atf_set "descr" "zfs mount fails with bad parameters" 303 atf_set "require.progs" "ksh93 zfs" 304} 305zfs_mount_011_neg_body() 306{ 307 . $(atf_get_srcdir)/../../../include/default.cfg 308 . $(atf_get_srcdir)/zfs_mount.kshlib 309 . $(atf_get_srcdir)/zfs_mount.cfg 310 311 verify_disk_count "$DISKS" 1 312 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 313 ksh93 $(atf_get_srcdir)/zfs_mount_011_neg.ksh || atf_fail "Testcase failed" 314} 315zfs_mount_011_neg_cleanup() 316{ 317 . $(atf_get_srcdir)/../../../include/default.cfg 318 . $(atf_get_srcdir)/zfs_mount.kshlib 319 . $(atf_get_srcdir)/zfs_mount.cfg 320 321 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 322} 323 324 325atf_test_case zfs_mount_all_001_pos cleanup 326zfs_mount_all_001_pos_head() 327{ 328 atf_set "descr" "Verify that 'zfs $mountall' succeeds as root,and all available ZFS filesystems are mounted." 329 atf_set "require.progs" "ksh93 zfs" 330} 331zfs_mount_all_001_pos_body() 332{ 333 . $(atf_get_srcdir)/../../../include/default.cfg 334 . $(atf_get_srcdir)/zfs_mount.kshlib 335 . $(atf_get_srcdir)/zfs_mount.cfg 336 337 if other_pools_exist; then 338 atf_skip "Can't test unmount -a with existing pools" 339 fi 340 341 verify_disk_count "$DISKS" 1 342 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 343 ksh93 $(atf_get_srcdir)/zfs_mount_all_001_pos.ksh || atf_fail "Testcase failed" 344} 345zfs_mount_all_001_pos_cleanup() 346{ 347 . $(atf_get_srcdir)/../../../include/default.cfg 348 . $(atf_get_srcdir)/zfs_mount.kshlib 349 . $(atf_get_srcdir)/zfs_mount.cfg 350 351 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 352} 353 354 355atf_init_test_cases() 356{ 357 358 atf_add_test_case zfs_mount_001_pos 359 atf_add_test_case zfs_mount_002_pos 360 atf_add_test_case zfs_mount_003_pos 361 atf_add_test_case zfs_mount_004_pos 362 atf_add_test_case zfs_mount_005_pos 363 atf_add_test_case zfs_mount_006_pos 364 atf_add_test_case zfs_mount_007_pos 365 atf_add_test_case zfs_mount_008_pos 366 atf_add_test_case zfs_mount_009_neg 367 atf_add_test_case zfs_mount_010_neg 368 atf_add_test_case zfs_mount_011_neg 369 atf_add_test_case zfs_mount_all_001_pos 370} 371