1*f126d349SKirk McKusick# Copyright (c) 2022 Yoshihiro Ota <ota@j.email.ne.jp> 2*f126d349SKirk McKusick# 3*f126d349SKirk McKusick# Redistribution and use in source and binary forms, with or without 4*f126d349SKirk McKusick# modification, are permitted provided that the following conditions 5*f126d349SKirk McKusick# are met: 6*f126d349SKirk McKusick# 1. Redistributions of source code must retain the above copyright 7*f126d349SKirk McKusick# notice, this list of conditions and the following disclaimer. 8*f126d349SKirk McKusick# 2. Redistributions in binary form must reproduce the above copyright 9*f126d349SKirk McKusick# notice, this list of conditions and the following disclaimer in the 10*f126d349SKirk McKusick# documentation and/or other materials provided with the distribution. 11*f126d349SKirk McKusick# 12*f126d349SKirk McKusick# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 13*f126d349SKirk McKusick# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 14*f126d349SKirk McKusick# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 15*f126d349SKirk McKusick# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 16*f126d349SKirk McKusick# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 17*f126d349SKirk McKusick# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 18*f126d349SKirk McKusick# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 19*f126d349SKirk McKusick# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 20*f126d349SKirk McKusick# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 21*f126d349SKirk McKusick# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 22*f126d349SKirk McKusick# SUCH DAMAGE. 23*f126d349SKirk McKusick 24*f126d349SKirk McKusicksysctl_name="kern.ostype" 25*f126d349SKirk McKusicksysctl_value="FreeBSD" 26*f126d349SKirk McKusicksysctl_type="string" 27*f126d349SKirk McKusicksysctl_description="Operating system type" 28*f126d349SKirk McKusick 29*f126d349SKirk McKusickatf_test_case sysctl_by_name 30*f126d349SKirk McKusicksysctl_by_name_head() 31*f126d349SKirk McKusick{ 32*f126d349SKirk McKusick atf_set "descr" "Verify name without any arguments" 33*f126d349SKirk McKusick} 34*f126d349SKirk McKusicksysctl_by_name_body() 35*f126d349SKirk McKusick{ 36*f126d349SKirk McKusick atf_check -o "inline:${sysctl_name}: ${sysctl_value}\n" sysctl ${sysctl_name} 37*f126d349SKirk McKusick} 38*f126d349SKirk McKusick 39*f126d349SKirk McKusick 40*f126d349SKirk McKusickatf_test_case sysctl_nflag 41*f126d349SKirk McKusicksysctl_nflag() 42*f126d349SKirk McKusick{ 43*f126d349SKirk McKusick atf_set "descr" "Verify -n argument" 44*f126d349SKirk McKusick} 45*f126d349SKirk McKusicksysctl_nflag_body() 46*f126d349SKirk McKusick{ 47*f126d349SKirk McKusick atf_check -o "inline:${sysctl_value}\n" sysctl -n ${sysctl_name} 48*f126d349SKirk McKusick} 49*f126d349SKirk McKusick 50*f126d349SKirk McKusick 51*f126d349SKirk McKusickatf_test_case sysctl_eflag 52*f126d349SKirk McKusicksysctl_eflag() 53*f126d349SKirk McKusick{ 54*f126d349SKirk McKusick atf_set "descr" "Verify -e argument" 55*f126d349SKirk McKusick} 56*f126d349SKirk McKusicksysctl_eflag_body() 57*f126d349SKirk McKusick{ 58*f126d349SKirk McKusick atf_check -o "inline:${sysctl_name}=${sysctl_value}\n" sysctl -e ${sysctl_name} 59*f126d349SKirk McKusick} 60*f126d349SKirk McKusick 61*f126d349SKirk McKusick 62*f126d349SKirk McKusickatf_test_case sysctl_tflag 63*f126d349SKirk McKusicksysctl_tflag() 64*f126d349SKirk McKusick{ 65*f126d349SKirk McKusick atf_set "descr" "Verify -t argument" 66*f126d349SKirk McKusick} 67*f126d349SKirk McKusicksysctl_tflag_body() 68*f126d349SKirk McKusick{ 69*f126d349SKirk McKusick atf_check -o "inline:${sysctl_name}: ${sysctl_type}\n" sysctl -t ${sysctl_name} 70*f126d349SKirk McKusick} 71*f126d349SKirk McKusick 72*f126d349SKirk McKusick 73*f126d349SKirk McKusickatf_test_case sysctl_dflag 74*f126d349SKirk McKusicksysctl_dflag() 75*f126d349SKirk McKusick{ 76*f126d349SKirk McKusick atf_set "descr" "Verify -d argument" 77*f126d349SKirk McKusick} 78*f126d349SKirk McKusicksysctl_dflag_body() 79*f126d349SKirk McKusick{ 80*f126d349SKirk McKusick atf_check -o "inline:${sysctl_name}: ${sysctl_description}\n" sysctl -d ${sysctl_name} 81*f126d349SKirk McKusick} 82*f126d349SKirk McKusick 83*f126d349SKirk McKusick 84*f126d349SKirk McKusickatf_test_case sysctl_tflag_dflag 85*f126d349SKirk McKusicksysctl_tflag_dflag() 86*f126d349SKirk McKusick{ 87*f126d349SKirk McKusick atf_set "descr" "Verify -t -d arguments" 88*f126d349SKirk McKusick} 89*f126d349SKirk McKusicksysctl_tflag_dflag_body() 90*f126d349SKirk McKusick{ 91*f126d349SKirk McKusick atf_check -o "inline:${sysctl_name}: ${sysctl_type}: ${sysctl_description}\n" sysctl -t -d ${sysctl_name} 92*f126d349SKirk McKusick atf_check -o "inline:${sysctl_name}: ${sysctl_type}: ${sysctl_description}\n" sysctl -d -t ${sysctl_name} 93*f126d349SKirk McKusick} 94*f126d349SKirk McKusick 95*f126d349SKirk McKusick 96*f126d349SKirk McKusickatf_test_case sysctl_nflag_tflag_dflag 97*f126d349SKirk McKusicksysctl_nflag_tflag_dflag() 98*f126d349SKirk McKusick{ 99*f126d349SKirk McKusick atf_set "descr" "Verify -n -t -d arguments" 100*f126d349SKirk McKusick} 101*f126d349SKirk McKusicksysctl_nflag_tflag_dflag_body() 102*f126d349SKirk McKusick{ 103*f126d349SKirk McKusick atf_check -o "inline:${sysctl_type}: ${sysctl_description}\n" sysctl -n -t -d ${sysctl_name} 104*f126d349SKirk McKusick} 105*f126d349SKirk McKusick 106*f126d349SKirk McKusick 107*f126d349SKirk McKusickatf_init_test_cases() 108*f126d349SKirk McKusick{ 109*f126d349SKirk McKusick atf_add_test_case sysctl_by_name 110*f126d349SKirk McKusick atf_add_test_case sysctl_nflag 111*f126d349SKirk McKusick atf_add_test_case sysctl_eflag 112*f126d349SKirk McKusick atf_add_test_case sysctl_tflag 113*f126d349SKirk McKusick atf_add_test_case sysctl_dflag 114*f126d349SKirk McKusick atf_add_test_case sysctl_tflag_dflag 115*f126d349SKirk McKusick atf_add_test_case sysctl_nflag_tflag_dflag 116*f126d349SKirk McKusick} 117