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 Somersusage_output='Usage: ctfconvert' 29*013953ebSAlan Somers 30*013953ebSAlan Somersatf_test_case invalid_usage 31*013953ebSAlan Somersinvalid_usage_head() 32*013953ebSAlan Somers{ 33*013953ebSAlan Somers atf_set "descr" "Verify that an invalid usage with a supported option produces a valid error message" 34*013953ebSAlan Somers} 35*013953ebSAlan Somers 36*013953ebSAlan Somersinvalid_usage_body() 37*013953ebSAlan Somers{ 38*013953ebSAlan Somers atf_check -s not-exit:0 -e match:"$usage_output" ctfconvert -l 39*013953ebSAlan Somers atf_check -s not-exit:0 -e match:"$usage_output" ctfconvert -L 40*013953ebSAlan Somers atf_check -s not-exit:0 -e match:"$usage_output" ctfconvert -g 41*013953ebSAlan Somers atf_check -s not-exit:0 -e match:"$usage_output" ctfconvert -i 42*013953ebSAlan Somers atf_check -s not-exit:0 -e match:"$usage_output" ctfconvert -s 43*013953ebSAlan Somers atf_check -s not-exit:0 -e match:"$usage_output" ctfconvert -o 44*013953ebSAlan Somers} 45*013953ebSAlan Somers 46*013953ebSAlan Somersatf_test_case no_arguments 47*013953ebSAlan Somersno_arguments_head() 48*013953ebSAlan Somers{ 49*013953ebSAlan Somers atf_set "descr" "Verify that ctfconvert(1) fails and generates a valid usage message when no arguments are supplied" 50*013953ebSAlan Somers} 51*013953ebSAlan Somers 52*013953ebSAlan Somersno_arguments_body() 53*013953ebSAlan Somers{ 54*013953ebSAlan Somers atf_check -s not-exit:0 -e match:"$usage_output" ctfconvert 55*013953ebSAlan Somers} 56*013953ebSAlan Somers 57*013953ebSAlan Somersatf_init_test_cases() 58*013953ebSAlan Somers{ 59*013953ebSAlan Somers atf_add_test_case invalid_usage 60*013953ebSAlan Somers atf_add_test_case no_arguments 61*013953ebSAlan Somers} 62