]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - tests/sys/vmm/vmm_cred_jail.sh
zfs: merge openzfs/zfs@f291fa658 (master) into main
[FreeBSD/FreeBSD.git] / tests / sys / vmm / vmm_cred_jail.sh
1 #-
2 # SPDX-License-Identifier: BSD-2-Clause-FreeBSD
3 #
4 # Copyright (c) 2021 The FreeBSD Foundation
5 #
6 # This software was developed by Cyril Zhang under sponsorship from
7 # the FreeBSD Foundation.
8 #
9 # Redistribution and use in source and binary forms, with or without
10 # modification, are permitted provided that the following conditions are
11 # met:
12 # 1. Redistributions of source code must retain the above copyright
13 #    notice, this list of conditions and the following disclaimer.
14 # 2. Redistributions in binary form must reproduce the above copyright
15 #    notice, this list of conditions and the following disclaimer in
16 #    the documentation and/or other materials provided with the distribution.
17 #
18 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 # ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 # SUCH DAMAGE.
29 #
30
31 . $(atf_get_srcdir)/utils.subr
32
33 atf_test_case vmm_cred_jail_host cleanup
34 vmm_cred_jail_host_head()
35 {
36         atf_set "descr" "Tests deleting the host's VM from within a jail"
37         atf_set "require.user" "root"
38 }
39 vmm_cred_jail_host_body()
40 {
41         if ! kldstat -qn vmm; then
42                 atf_skip "vmm is not loaded"
43         fi
44         bhyvectl --vm=testvm --create
45         vmm_mkjail myjail
46         atf_check -s exit:1 -e ignore jexec myjail bhyvectl --vm=testvm --destroy
47 }
48 vmm_cred_jail_host_cleanup()
49 {
50         bhyvectl --vm=testvm --destroy
51         vmm_cleanup
52 }
53
54 atf_test_case vmm_cred_jail_other cleanup
55 vmm_cred_jail_other_head()
56 {
57         atf_set "descr" "Tests deleting a jail's VM from within another jail"
58         atf_set "require.user" "root"
59 }
60 vmm_cred_jail_other_body()
61 {
62         if ! kldstat -qn vmm; then
63                 atf_skip "vmm is not loaded"
64         fi
65         vmm_mkjail myjail1
66         vmm_mkjail myjail2
67         atf_check -s exit:0 jexec myjail1 bhyvectl --vm=testvm --create
68         atf_check -s exit:1 -e ignore jexec myjail2 bhyvectl --vm=testvm --destroy
69 }
70 vmm_cred_jail_other_cleanup()
71 {
72         bhyvectl --vm=testvm --destroy
73         vmm_cleanup
74 }
75
76 atf_init_test_cases()
77 {
78         atf_add_test_case vmm_cred_jail_host
79         atf_add_test_case vmm_cred_jail_other
80 }