1*013953ebSAlan Somers# 2*013953ebSAlan Somers# Copyright 2017 Shivansh 3*013953ebSAlan Somers# All rights reserved. 4*013953ebSAlan Somers# 5*013953ebSAlan Somers# Redistribution and use in source and binary forms, with or without 6*013953ebSAlan Somers# modification, are permitted provided that the following conditions 7*013953ebSAlan Somers# are met: 8*013953ebSAlan Somers# 1. Redistributions of source code must retain the above copyright 9*013953ebSAlan Somers# notice, this list of conditions and the following disclaimer. 10*013953ebSAlan Somers# 2. Redistributions in binary form must reproduce the above copyright 11*013953ebSAlan Somers# notice, this list of conditions and the following disclaimer in the 12*013953ebSAlan Somers# documentation and/or other materials provided with the distribution. 13*013953ebSAlan Somers# 14*013953ebSAlan Somers# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15*013953ebSAlan Somers# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16*013953ebSAlan Somers# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17*013953ebSAlan Somers# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18*013953ebSAlan Somers# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19*013953ebSAlan Somers# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20*013953ebSAlan Somers# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21*013953ebSAlan Somers# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22*013953ebSAlan Somers# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23*013953ebSAlan Somers# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24*013953ebSAlan Somers# SUCH DAMAGE. 25*013953ebSAlan Somers# 26*013953ebSAlan Somers# 27*013953ebSAlan Somers 28*013953ebSAlan Somersatf_test_case b_flag 29*013953ebSAlan Somersb_flag_head() 30*013953ebSAlan Somers{ 31*013953ebSAlan Somers atf_set "descr" "Verify the usage of option 'b'" 32*013953ebSAlan Somers} 33*013953ebSAlan Somers 34*013953ebSAlan Somersb_flag_body() 35*013953ebSAlan Somers{ 36*013953ebSAlan Somers atf_check -s exit:0 -o empty fold -b < /dev/null 37*013953ebSAlan Somers} 38*013953ebSAlan Somers 39*013953ebSAlan Somersatf_test_case s_flag 40*013953ebSAlan Somerss_flag_head() 41*013953ebSAlan Somers{ 42*013953ebSAlan Somers atf_set "descr" "Verify the usage of option 's'" 43*013953ebSAlan Somers} 44*013953ebSAlan Somers 45*013953ebSAlan Somerss_flag_body() 46*013953ebSAlan Somers{ 47*013953ebSAlan Somers atf_check -s exit:0 -o empty fold -s < /dev/null 48*013953ebSAlan Somers} 49*013953ebSAlan Somers 50*013953ebSAlan Somersatf_test_case invalid_usage 51*013953ebSAlan Somersinvalid_usage_head() 52*013953ebSAlan Somers{ 53*013953ebSAlan Somers atf_set "descr" "Verify that an invalid usage with a supported option produces a valid error message" 54*013953ebSAlan Somers} 55*013953ebSAlan Somers 56*013953ebSAlan Somersinvalid_usage_body() 57*013953ebSAlan Somers{ 58*013953ebSAlan Somers atf_check -s not-exit:0 -e inline:"fold: option requires an argument -- w 59*013953ebSAlan Somersusage: fold [-bs] [-w width] [file ...] 60*013953ebSAlan Somers" fold -w 61*013953ebSAlan Somers} 62*013953ebSAlan Somers 63*013953ebSAlan Somersatf_test_case no_arguments 64*013953ebSAlan Somersno_arguments_head() 65*013953ebSAlan Somers{ 66*013953ebSAlan Somers atf_set "descr" "Verify that fold(1) executes successfully and silently when invoked without any arguments" 67*013953ebSAlan Somers} 68*013953ebSAlan Somers 69*013953ebSAlan Somersno_arguments_body() 70*013953ebSAlan Somers{ 71*013953ebSAlan Somers atf_check -s exit:0 -o empty fold < /dev/null 72*013953ebSAlan Somers} 73*013953ebSAlan Somers 74*013953ebSAlan Somersatf_init_test_cases() 75*013953ebSAlan Somers{ 76*013953ebSAlan Somers atf_add_test_case b_flag 77*013953ebSAlan Somers atf_add_test_case s_flag 78*013953ebSAlan Somers atf_add_test_case invalid_usage 79*013953ebSAlan Somers atf_add_test_case no_arguments 80*013953ebSAlan Somers} 81