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 quota_001_pos cleanup
30quota_001_pos_head()
31{
32	atf_set "descr" "Verify that file size is limited by the file system quota"
33	atf_set "require.progs"  zfs
34}
35quota_001_pos_body()
36{
37	. $(atf_get_srcdir)/../../include/default.cfg
38	. $(atf_get_srcdir)/quota.kshlib
39	. $(atf_get_srcdir)/quota.cfg
40
41	verify_disk_count "$DISKS" 1
42	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
43	ksh93 $(atf_get_srcdir)/quota_001_pos.ksh || atf_fail "Testcase failed"
44}
45quota_001_pos_cleanup()
46{
47	. $(atf_get_srcdir)/../../include/default.cfg
48	. $(atf_get_srcdir)/quota.kshlib
49	. $(atf_get_srcdir)/quota.cfg
50
51	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
52}
53
54
55atf_test_case quota_002_pos cleanup
56quota_002_pos_head()
57{
58	atf_set "descr" "Verify that a file write cannot exceed the file system quota"
59	atf_set "require.progs"  zfs
60}
61quota_002_pos_body()
62{
63	. $(atf_get_srcdir)/../../include/default.cfg
64	. $(atf_get_srcdir)/quota.kshlib
65	. $(atf_get_srcdir)/quota.cfg
66
67	verify_disk_count "$DISKS" 1
68	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
69	ksh93 $(atf_get_srcdir)/quota_002_pos.ksh || atf_fail "Testcase failed"
70}
71quota_002_pos_cleanup()
72{
73	. $(atf_get_srcdir)/../../include/default.cfg
74	. $(atf_get_srcdir)/quota.kshlib
75	. $(atf_get_srcdir)/quota.cfg
76
77	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
78}
79
80
81atf_test_case quota_003_pos cleanup
82quota_003_pos_head()
83{
84	atf_set "descr" "Verify that file size is limited by the file system quota(dataset version)"
85	atf_set "require.progs"  zfs
86}
87quota_003_pos_body()
88{
89	. $(atf_get_srcdir)/../../include/default.cfg
90	. $(atf_get_srcdir)/quota.kshlib
91	. $(atf_get_srcdir)/quota.cfg
92
93	verify_disk_count "$DISKS" 1
94	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
95	ksh93 $(atf_get_srcdir)/quota_003_pos.ksh || atf_fail "Testcase failed"
96}
97quota_003_pos_cleanup()
98{
99	. $(atf_get_srcdir)/../../include/default.cfg
100	. $(atf_get_srcdir)/quota.kshlib
101	. $(atf_get_srcdir)/quota.cfg
102
103	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
104}
105
106
107atf_test_case quota_004_pos cleanup
108quota_004_pos_head()
109{
110	atf_set "descr" "Verify that a file write cannot exceed the file system quota(dataset version)"
111	atf_set "require.progs"  zfs
112}
113quota_004_pos_body()
114{
115	. $(atf_get_srcdir)/../../include/default.cfg
116	. $(atf_get_srcdir)/quota.kshlib
117	. $(atf_get_srcdir)/quota.cfg
118
119	verify_disk_count "$DISKS" 1
120	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
121	ksh93 $(atf_get_srcdir)/quota_004_pos.ksh || atf_fail "Testcase failed"
122}
123quota_004_pos_cleanup()
124{
125	. $(atf_get_srcdir)/../../include/default.cfg
126	. $(atf_get_srcdir)/quota.kshlib
127	. $(atf_get_srcdir)/quota.cfg
128
129	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
130}
131
132
133atf_test_case quota_005_pos cleanup
134quota_005_pos_head()
135{
136	atf_set "descr" "Verify that quota does not inherit its value from parent."
137	atf_set "require.progs"  zfs
138}
139quota_005_pos_body()
140{
141	. $(atf_get_srcdir)/../../include/default.cfg
142	. $(atf_get_srcdir)/quota.kshlib
143	. $(atf_get_srcdir)/quota.cfg
144
145	verify_disk_count "$DISKS" 1
146	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
147	ksh93 $(atf_get_srcdir)/quota_005_pos.ksh || atf_fail "Testcase failed"
148}
149quota_005_pos_cleanup()
150{
151	. $(atf_get_srcdir)/../../include/default.cfg
152	. $(atf_get_srcdir)/quota.kshlib
153	. $(atf_get_srcdir)/quota.cfg
154
155	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
156}
157
158
159atf_test_case quota_006_neg cleanup
160quota_006_neg_head()
161{
162	atf_set "descr" "Verify cannot set quota lower than the space currently in use"
163	atf_set "require.progs"  zfs
164}
165quota_006_neg_body()
166{
167	. $(atf_get_srcdir)/../../include/default.cfg
168	. $(atf_get_srcdir)/quota.kshlib
169	. $(atf_get_srcdir)/quota.cfg
170
171	verify_disk_count "$DISKS" 1
172	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
173	ksh93 $(atf_get_srcdir)/quota_006_neg.ksh || atf_fail "Testcase failed"
174}
175quota_006_neg_cleanup()
176{
177	. $(atf_get_srcdir)/../../include/default.cfg
178	. $(atf_get_srcdir)/quota.kshlib
179	. $(atf_get_srcdir)/quota.cfg
180
181	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
182}
183
184
185atf_init_test_cases()
186{
187
188	atf_add_test_case quota_001_pos
189	atf_add_test_case quota_002_pos
190	atf_add_test_case quota_003_pos
191	atf_add_test_case quota_004_pos
192	atf_add_test_case quota_005_pos
193	atf_add_test_case quota_006_neg
194}
195