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