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 zones_001_pos cleanup
30zones_001_pos_head()
31{
32	atf_set "descr" "Local zone contains ZFS datasets as expected."
33	atf_set "require.progs"  zfs zoneadm zonecfg
34	atf_set "timeout" 3600
35}
36zones_001_pos_body()
37{
38	. $(atf_get_srcdir)/../../include/default.cfg
39	. $(atf_get_srcdir)/zones_common.kshlib
40	. $(atf_get_srcdir)/zones.cfg
41
42	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
43	ksh93 $(atf_get_srcdir)/zones_001_pos.ksh || atf_fail "Testcase failed"
44}
45zones_001_pos_cleanup()
46{
47	. $(atf_get_srcdir)/../../include/default.cfg
48	. $(atf_get_srcdir)/zones_common.kshlib
49	. $(atf_get_srcdir)/zones.cfg
50
51	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
52}
53
54
55atf_test_case zones_002_pos cleanup
56zones_002_pos_head()
57{
58	atf_set "descr" "A ZFS fs is created when the parent dir of zonepath is a ZFS fs."
59	atf_set "require.progs"  zfs zoneadm zonecfg
60	atf_set "timeout" 3600
61}
62zones_002_pos_body()
63{
64	. $(atf_get_srcdir)/../../include/default.cfg
65	. $(atf_get_srcdir)/zones_common.kshlib
66	. $(atf_get_srcdir)/zones.cfg
67
68	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
69	ksh93 $(atf_get_srcdir)/zones_002_pos.ksh || atf_fail "Testcase failed"
70}
71zones_002_pos_cleanup()
72{
73	. $(atf_get_srcdir)/../../include/default.cfg
74	. $(atf_get_srcdir)/zones_common.kshlib
75	. $(atf_get_srcdir)/zones.cfg
76
77	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
78}
79
80
81atf_test_case zones_003_pos cleanup
82zones_003_pos_head()
83{
84	atf_set "descr" "Zone cloning via ZFS snapshots works as expected."
85	atf_set "require.progs"  zfs zoneadm zonecfg
86	atf_set "timeout" 3600
87}
88zones_003_pos_body()
89{
90	. $(atf_get_srcdir)/../../include/default.cfg
91	. $(atf_get_srcdir)/zones_common.kshlib
92	. $(atf_get_srcdir)/zones.cfg
93
94	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
95	ksh93 $(atf_get_srcdir)/zones_003_pos.ksh || atf_fail "Testcase failed"
96}
97zones_003_pos_cleanup()
98{
99	. $(atf_get_srcdir)/../../include/default.cfg
100	. $(atf_get_srcdir)/zones_common.kshlib
101	. $(atf_get_srcdir)/zones.cfg
102
103	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
104}
105
106
107atf_test_case zones_004_pos cleanup
108zones_004_pos_head()
109{
110	atf_set "descr" "A ZFS fs is destroyed when the zone it was created for is deleted."
111	atf_set "require.progs"  zfs zoneadm zonecfg
112	atf_set "timeout" 3600
113}
114zones_004_pos_body()
115{
116	. $(atf_get_srcdir)/../../include/default.cfg
117	. $(atf_get_srcdir)/zones_common.kshlib
118	. $(atf_get_srcdir)/zones.cfg
119
120	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
121	ksh93 $(atf_get_srcdir)/zones_004_pos.ksh || atf_fail "Testcase failed"
122}
123zones_004_pos_cleanup()
124{
125	. $(atf_get_srcdir)/../../include/default.cfg
126	. $(atf_get_srcdir)/zones_common.kshlib
127	. $(atf_get_srcdir)/zones.cfg
128
129	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
130}
131
132
133atf_test_case zones_005_pos cleanup
134zones_005_pos_head()
135{
136	atf_set "descr" "Pool properties can be read but can't be set within a zone"
137	atf_set "require.progs"  zpool zonecfg zoneadm
138	atf_set "timeout" 3600
139}
140zones_005_pos_body()
141{
142	. $(atf_get_srcdir)/../../include/default.cfg
143	. $(atf_get_srcdir)/zones_common.kshlib
144	. $(atf_get_srcdir)/zones.cfg
145
146	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
147	ksh93 $(atf_get_srcdir)/zones_005_pos.ksh || atf_fail "Testcase failed"
148}
149zones_005_pos_cleanup()
150{
151	. $(atf_get_srcdir)/../../include/default.cfg
152	. $(atf_get_srcdir)/zones_common.kshlib
153	. $(atf_get_srcdir)/zones.cfg
154
155	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
156}
157
158
159atf_init_test_cases()
160{
161
162	atf_add_test_case zones_001_pos
163	atf_add_test_case zones_002_pos
164	atf_add_test_case zones_003_pos
165	atf_add_test_case zones_004_pos
166	atf_add_test_case zones_005_pos
167}
168