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 clone_001_pos cleanup
30clone_001_pos_head()
31{
32	atf_set "descr" "Verify a cloned file system is writable."
33	atf_set "require.progs"  zfs
34}
35clone_001_pos_body()
36{
37	. $(atf_get_srcdir)/../../include/default.cfg
38	. $(atf_get_srcdir)/snapshot.cfg
39
40	verify_disk_count "$DISKS" 1
41	verify_zvol_recursive
42	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
43	ksh93 $(atf_get_srcdir)/clone_001_pos.ksh || atf_fail "Testcase failed"
44}
45clone_001_pos_cleanup()
46{
47	. $(atf_get_srcdir)/../../include/default.cfg
48	. $(atf_get_srcdir)/snapshot.cfg
49
50	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
51}
52
53
54atf_test_case rollback_001_pos cleanup
55rollback_001_pos_head()
56{
57	atf_set "descr" "Verify that a rollback to a previous snapshot succeeds."
58	atf_set "require.progs"  zfs
59}
60rollback_001_pos_body()
61{
62	. $(atf_get_srcdir)/../../include/default.cfg
63	. $(atf_get_srcdir)/snapshot.cfg
64
65	verify_disk_count "$DISKS" 1
66	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
67	ksh93 $(atf_get_srcdir)/rollback_001_pos.ksh || atf_fail "Testcase failed"
68}
69rollback_001_pos_cleanup()
70{
71	. $(atf_get_srcdir)/../../include/default.cfg
72	. $(atf_get_srcdir)/snapshot.cfg
73
74	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
75}
76
77
78atf_test_case rollback_002_pos cleanup
79rollback_002_pos_head()
80{
81	atf_set "descr" "Verify rollback is with respect to latest snapshot."
82	atf_set "require.progs"  zfs
83}
84rollback_002_pos_body()
85{
86	. $(atf_get_srcdir)/../../include/default.cfg
87	. $(atf_get_srcdir)/snapshot.cfg
88
89	verify_disk_count "$DISKS" 1
90	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
91	ksh93 $(atf_get_srcdir)/rollback_002_pos.ksh || atf_fail "Testcase failed"
92}
93rollback_002_pos_cleanup()
94{
95	. $(atf_get_srcdir)/../../include/default.cfg
96	. $(atf_get_srcdir)/snapshot.cfg
97
98	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
99}
100
101
102atf_test_case rollback_003_pos cleanup
103rollback_003_pos_head()
104{
105	atf_set "descr" "Verify rollback succeeds when there are nested file systems."
106	atf_set "require.progs"  zfs
107}
108rollback_003_pos_body()
109{
110	. $(atf_get_srcdir)/../../include/default.cfg
111	. $(atf_get_srcdir)/snapshot.cfg
112
113	verify_disk_count "$DISKS" 1
114	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
115	ksh93 $(atf_get_srcdir)/rollback_003_pos.ksh || atf_fail "Testcase failed"
116}
117rollback_003_pos_cleanup()
118{
119	. $(atf_get_srcdir)/../../include/default.cfg
120	. $(atf_get_srcdir)/snapshot.cfg
121
122	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
123}
124
125
126atf_test_case snapshot_001_pos cleanup
127snapshot_001_pos_head()
128{
129	atf_set "descr" "Verify a file system snapshot is identical to original."
130	atf_set "require.progs"  zfs sum
131}
132snapshot_001_pos_body()
133{
134	. $(atf_get_srcdir)/../../include/default.cfg
135	. $(atf_get_srcdir)/snapshot.cfg
136
137	verify_disk_count "$DISKS" 1
138	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
139	ksh93 $(atf_get_srcdir)/snapshot_001_pos.ksh || atf_fail "Testcase failed"
140}
141snapshot_001_pos_cleanup()
142{
143	. $(atf_get_srcdir)/../../include/default.cfg
144	. $(atf_get_srcdir)/snapshot.cfg
145
146	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
147}
148
149
150atf_test_case snapshot_002_pos cleanup
151snapshot_002_pos_head()
152{
153	atf_set "descr" "Verify an archive of a file system is identical toan archive of its snapshot."
154	atf_set "require.progs"  zfs
155}
156snapshot_002_pos_body()
157{
158	. $(atf_get_srcdir)/../../include/default.cfg
159	. $(atf_get_srcdir)/snapshot.cfg
160
161	verify_disk_count "$DISKS" 1
162	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
163	ksh93 $(atf_get_srcdir)/snapshot_002_pos.ksh || atf_fail "Testcase failed"
164}
165snapshot_002_pos_cleanup()
166{
167	. $(atf_get_srcdir)/../../include/default.cfg
168	. $(atf_get_srcdir)/snapshot.cfg
169
170	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
171}
172
173
174atf_test_case snapshot_003_pos cleanup
175snapshot_003_pos_head()
176{
177	atf_set "descr" "Verify many snapshots of a file system can be taken."
178	atf_set "require.progs"  zfs
179}
180snapshot_003_pos_body()
181{
182	. $(atf_get_srcdir)/../../include/default.cfg
183	. $(atf_get_srcdir)/snapshot.cfg
184
185	verify_disk_count "$DISKS" 1
186	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
187	ksh93 $(atf_get_srcdir)/snapshot_003_pos.ksh || atf_fail "Testcase failed"
188}
189snapshot_003_pos_cleanup()
190{
191	. $(atf_get_srcdir)/../../include/default.cfg
192	. $(atf_get_srcdir)/snapshot.cfg
193
194	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
195}
196
197
198atf_test_case snapshot_004_pos cleanup
199snapshot_004_pos_head()
200{
201	atf_set "descr" "Verify that a snapshot of an empty file system remains empty."
202	atf_set "require.progs"  zfs
203}
204snapshot_004_pos_body()
205{
206	. $(atf_get_srcdir)/../../include/default.cfg
207	. $(atf_get_srcdir)/snapshot.cfg
208
209	verify_disk_count "$DISKS" 1
210	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
211	ksh93 $(atf_get_srcdir)/snapshot_004_pos.ksh || atf_fail "Testcase failed"
212}
213snapshot_004_pos_cleanup()
214{
215	. $(atf_get_srcdir)/../../include/default.cfg
216	. $(atf_get_srcdir)/snapshot.cfg
217
218	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
219}
220
221
222atf_test_case snapshot_005_pos cleanup
223snapshot_005_pos_head()
224{
225	atf_set "descr" "Verify that a snapshot of a dataset is identical tothe original dataset."
226	atf_set "require.progs"  zfs sum
227}
228snapshot_005_pos_body()
229{
230	. $(atf_get_srcdir)/../../include/default.cfg
231	. $(atf_get_srcdir)/snapshot.cfg
232
233	verify_disk_count "$DISKS" 1
234	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
235	ksh93 $(atf_get_srcdir)/snapshot_005_pos.ksh || atf_fail "Testcase failed"
236}
237snapshot_005_pos_cleanup()
238{
239	. $(atf_get_srcdir)/../../include/default.cfg
240	. $(atf_get_srcdir)/snapshot.cfg
241
242	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
243}
244
245
246atf_test_case snapshot_006_pos cleanup
247snapshot_006_pos_head()
248{
249	atf_set "descr" "Verify that an archive of a dataset is identical toan archive of the dataset's snapshot."
250	atf_set "require.progs"  zfs
251}
252snapshot_006_pos_body()
253{
254	. $(atf_get_srcdir)/../../include/default.cfg
255	. $(atf_get_srcdir)/snapshot.cfg
256
257	verify_disk_count "$DISKS" 1
258	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
259	ksh93 $(atf_get_srcdir)/snapshot_006_pos.ksh || atf_fail "Testcase failed"
260}
261snapshot_006_pos_cleanup()
262{
263	. $(atf_get_srcdir)/../../include/default.cfg
264	. $(atf_get_srcdir)/snapshot.cfg
265
266	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
267}
268
269
270atf_test_case snapshot_007_pos cleanup
271snapshot_007_pos_head()
272{
273	atf_set "descr" "Verify that many snapshots can be made on a zfs dataset."
274	atf_set "require.progs"  zfs
275}
276snapshot_007_pos_body()
277{
278	. $(atf_get_srcdir)/../../include/default.cfg
279	. $(atf_get_srcdir)/snapshot.cfg
280
281	verify_disk_count "$DISKS" 1
282	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
283	ksh93 $(atf_get_srcdir)/snapshot_007_pos.ksh || atf_fail "Testcase failed"
284}
285snapshot_007_pos_cleanup()
286{
287	. $(atf_get_srcdir)/../../include/default.cfg
288	. $(atf_get_srcdir)/snapshot.cfg
289
290	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
291}
292
293
294atf_test_case snapshot_008_pos cleanup
295snapshot_008_pos_head()
296{
297	atf_set "descr" "Verify that destroying snapshots returns space to the pool."
298	atf_set "require.progs"  zfs
299}
300snapshot_008_pos_body()
301{
302	. $(atf_get_srcdir)/../../include/default.cfg
303	. $(atf_get_srcdir)/snapshot.cfg
304
305	verify_disk_count "$DISKS" 1
306	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
307	ksh93 $(atf_get_srcdir)/snapshot_008_pos.ksh || atf_fail "Testcase failed"
308}
309snapshot_008_pos_cleanup()
310{
311	. $(atf_get_srcdir)/../../include/default.cfg
312	. $(atf_get_srcdir)/snapshot.cfg
313
314	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
315}
316
317
318atf_test_case snapshot_009_pos cleanup
319snapshot_009_pos_head()
320{
321	atf_set "descr" "Verify snapshot -r can correctly create a snapshot tree."
322	atf_set "require.progs"  zfs
323}
324snapshot_009_pos_body()
325{
326	. $(atf_get_srcdir)/../../include/default.cfg
327	. $(atf_get_srcdir)/snapshot.cfg
328
329	verify_disk_count "$DISKS" 1
330	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
331	ksh93 $(atf_get_srcdir)/snapshot_009_pos.ksh || atf_fail "Testcase failed"
332}
333snapshot_009_pos_cleanup()
334{
335	. $(atf_get_srcdir)/../../include/default.cfg
336	. $(atf_get_srcdir)/snapshot.cfg
337
338	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
339}
340
341
342atf_test_case snapshot_010_pos cleanup
343snapshot_010_pos_head()
344{
345	atf_set "descr" "Verify 'destroy -r' can correctly destroy a snapshot subtree at any point."
346	atf_set "require.progs"  zfs
347}
348snapshot_010_pos_body()
349{
350	. $(atf_get_srcdir)/../../include/default.cfg
351	. $(atf_get_srcdir)/snapshot.cfg
352
353	verify_disk_count "$DISKS" 1
354	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
355	ksh93 $(atf_get_srcdir)/snapshot_010_pos.ksh || atf_fail "Testcase failed"
356}
357snapshot_010_pos_cleanup()
358{
359	. $(atf_get_srcdir)/../../include/default.cfg
360	. $(atf_get_srcdir)/snapshot.cfg
361
362	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
363}
364
365
366atf_test_case snapshot_011_pos cleanup
367snapshot_011_pos_head()
368{
369	atf_set "descr" "Verify that rollback to a snapshot created by snapshot -r succeeds."
370	atf_set "require.progs"  zfs
371}
372snapshot_011_pos_body()
373{
374	. $(atf_get_srcdir)/../../include/default.cfg
375	. $(atf_get_srcdir)/snapshot.cfg
376
377	verify_disk_count "$DISKS" 1
378	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
379	ksh93 $(atf_get_srcdir)/snapshot_011_pos.ksh || atf_fail "Testcase failed"
380}
381snapshot_011_pos_cleanup()
382{
383	. $(atf_get_srcdir)/../../include/default.cfg
384	. $(atf_get_srcdir)/snapshot.cfg
385
386	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
387}
388
389
390atf_test_case snapshot_012_pos cleanup
391snapshot_012_pos_head()
392{
393	atf_set "descr" "Verify that 'snapshot -r' can work with 'zfs promote'."
394	atf_set "require.progs"  zfs
395}
396snapshot_012_pos_body()
397{
398	. $(atf_get_srcdir)/../../include/default.cfg
399	. $(atf_get_srcdir)/snapshot.cfg
400
401	verify_disk_count "$DISKS" 1
402	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
403	ksh93 $(atf_get_srcdir)/snapshot_012_pos.ksh || atf_fail "Testcase failed"
404}
405snapshot_012_pos_cleanup()
406{
407	. $(atf_get_srcdir)/../../include/default.cfg
408	. $(atf_get_srcdir)/snapshot.cfg
409
410	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
411}
412
413
414atf_test_case snapshot_013_pos cleanup
415snapshot_013_pos_head()
416{
417	atf_set "descr" "Verify snapshots from 'snapshot -r' can be used for zfs send/recv"
418	atf_set "require.progs"  zfs
419}
420snapshot_013_pos_body()
421{
422	. $(atf_get_srcdir)/../../include/default.cfg
423	. $(atf_get_srcdir)/snapshot.cfg
424
425	verify_disk_count "$DISKS" 1
426	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
427	ksh93 $(atf_get_srcdir)/snapshot_013_pos.ksh || atf_fail "Testcase failed"
428}
429snapshot_013_pos_cleanup()
430{
431	. $(atf_get_srcdir)/../../include/default.cfg
432	. $(atf_get_srcdir)/snapshot.cfg
433
434	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
435}
436
437
438atf_test_case snapshot_014_pos cleanup
439snapshot_014_pos_head()
440{
441	atf_set "descr" "Verify creating/destroying snapshots do things clean"
442	atf_set "require.progs"  zfs
443}
444snapshot_014_pos_body()
445{
446	. $(atf_get_srcdir)/../../include/default.cfg
447	. $(atf_get_srcdir)/snapshot.cfg
448
449	verify_disk_count "$DISKS" 1
450	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
451	ksh93 $(atf_get_srcdir)/snapshot_014_pos.ksh || atf_fail "Testcase failed"
452}
453snapshot_014_pos_cleanup()
454{
455	. $(atf_get_srcdir)/../../include/default.cfg
456	. $(atf_get_srcdir)/snapshot.cfg
457
458	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
459}
460
461
462atf_test_case snapshot_015_pos cleanup
463snapshot_015_pos_head()
464{
465	atf_set "descr" "Verify snapshot can be created via mkdir in .zfs/snapshot."
466	atf_set "require.progs"  zfs
467}
468snapshot_015_pos_body()
469{
470    atf_expect_fail "Not all directory operations on the .zfs/snapshot directory are yet supported by FreeBSD"
471	. $(atf_get_srcdir)/../../include/default.cfg
472	. $(atf_get_srcdir)/snapshot.cfg
473
474	verify_disk_count "$DISKS" 1
475	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
476	ksh93 $(atf_get_srcdir)/snapshot_015_pos.ksh || atf_fail "Testcase failed"
477}
478snapshot_015_pos_cleanup()
479{
480	. $(atf_get_srcdir)/../../include/default.cfg
481	. $(atf_get_srcdir)/snapshot.cfg
482
483	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
484}
485
486
487atf_test_case snapshot_016_pos cleanup
488snapshot_016_pos_head()
489{
490	atf_set "descr" "Verify renamed snapshots via mv can be destroyed."
491	atf_set "require.progs"  zfs
492}
493snapshot_016_pos_body()
494{
495	atf_expect_fail "Not all directory operations on the .zfs/snapshot directory are yet supported by FreeBSD"
496	. $(atf_get_srcdir)/../../include/default.cfg
497	. $(atf_get_srcdir)/snapshot.cfg
498
499	verify_disk_count "$DISKS" 1
500	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
501	ksh93 $(atf_get_srcdir)/snapshot_016_pos.ksh || atf_fail "Testcase failed"
502}
503snapshot_016_pos_cleanup()
504{
505	. $(atf_get_srcdir)/../../include/default.cfg
506	. $(atf_get_srcdir)/snapshot.cfg
507
508	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
509}
510
511
512atf_test_case snapshot_017_pos cleanup
513snapshot_017_pos_head()
514{
515	atf_set "descr" "Directory structure of snapshots reflects filesystem structure."
516	atf_set "require.progs"  zfs
517}
518snapshot_017_pos_body()
519{
520	. $(atf_get_srcdir)/../../include/default.cfg
521	. $(atf_get_srcdir)/snapshot.cfg
522
523	verify_disk_count "$DISKS" 1
524	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
525	ksh93 $(atf_get_srcdir)/snapshot_017_pos.ksh || atf_fail "Testcase failed"
526}
527snapshot_017_pos_cleanup()
528{
529	. $(atf_get_srcdir)/../../include/default.cfg
530	. $(atf_get_srcdir)/snapshot.cfg
531
532	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
533}
534
535
536atf_test_case snapshot_018_pos cleanup
537snapshot_018_pos_head()
538{
539	atf_set "descr" "Snapshot directory supports ACL operations"
540	atf_set "require.progs" zfs getfacl getconf sha1
541}
542snapshot_018_pos_body()
543{
544	. $(atf_get_srcdir)/../../include/default.cfg
545	. $(atf_get_srcdir)/snapshot.cfg
546
547	verify_disk_count "$DISKS" 1
548	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
549	ksh93 $(atf_get_srcdir)/snapshot_018_pos.ksh || atf_fail "Testcase failed"
550}
551snapshot_018_pos_cleanup()
552{
553	. $(atf_get_srcdir)/../../include/default.cfg
554	. $(atf_get_srcdir)/snapshot.cfg
555
556	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
557}
558
559
560atf_test_case snapshot_019_pos cleanup
561snapshot_019_pos_head()
562{
563	atf_set "descr" "Accessing snapshots and unmounting them in parallel does not panic"
564	atf_set "require.progs" zfs
565	atf_set "timeout" 1200
566}
567snapshot_019_pos_body()
568{
569	. $(atf_get_srcdir)/../../include/default.cfg
570	. $(atf_get_srcdir)/snapshot.cfg
571
572	verify_disk_count "$DISKS" 1
573	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
574	ksh93 $(atf_get_srcdir)/snapshot_019_pos.ksh || atf_fail "Testcase failed"
575}
576snapshot_019_pos_cleanup()
577{
578	. $(atf_get_srcdir)/../../include/default.cfg
579	. $(atf_get_srcdir)/snapshot.cfg
580
581	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
582}
583
584atf_test_case snapshot_020_pos cleanup
585snapshot_020_pos_head()
586{
587	atf_set "descr" "Verify mounted snapshots can be renamed and destroyed"
588	atf_set "require.progs"  zfs
589}
590snapshot_020_pos_body()
591{
592	. $(atf_get_srcdir)/../../include/default.cfg
593	. $(atf_get_srcdir)/snapshot.cfg
594
595	verify_disk_count "$DISKS" 1
596	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
597	ksh93 $(atf_get_srcdir)/snapshot_020_pos.ksh || atf_fail "Testcase failed"
598}
599snapshot_020_pos_cleanup()
600{
601	. $(atf_get_srcdir)/../../include/default.cfg
602	. $(atf_get_srcdir)/snapshot.cfg
603
604	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
605}
606
607
608atf_init_test_cases()
609{
610	atf_add_test_case clone_001_pos
611	atf_add_test_case rollback_001_pos
612	atf_add_test_case rollback_002_pos
613	atf_add_test_case rollback_003_pos
614	atf_add_test_case snapshot_001_pos
615	atf_add_test_case snapshot_002_pos
616	atf_add_test_case snapshot_003_pos
617	atf_add_test_case snapshot_004_pos
618	atf_add_test_case snapshot_005_pos
619	atf_add_test_case snapshot_006_pos
620	atf_add_test_case snapshot_007_pos
621	atf_add_test_case snapshot_008_pos
622	atf_add_test_case snapshot_009_pos
623	atf_add_test_case snapshot_010_pos
624	atf_add_test_case snapshot_011_pos
625	atf_add_test_case snapshot_012_pos
626	atf_add_test_case snapshot_013_pos
627	atf_add_test_case snapshot_014_pos
628	atf_add_test_case snapshot_015_pos
629	atf_add_test_case snapshot_016_pos
630	atf_add_test_case snapshot_017_pos
631	atf_add_test_case snapshot_018_pos
632	atf_add_test_case snapshot_019_pos
633	atf_add_test_case snapshot_020_pos
634}
635