Index: bin/chflags/Makefile =================================================================== --- bin/chflags/Makefile +++ bin/chflags/Makefile @@ -4,4 +4,7 @@ PACKAGE=runtime PROG= chflags +HAS_TESTS= +SUBDIR.${MK_TESTS}+= tests + .include Index: bin/chflags/tests/Makefile =================================================================== --- /dev/null +++ bin/chflags/tests/Makefile @@ -0,0 +1,5 @@ +# $FreeBSD$ + +ATF_TESTS_SH+= chflags_test + +.include Index: bin/chflags/tests/chflags_test.sh =================================================================== --- /dev/null +++ bin/chflags/tests/chflags_test.sh @@ -0,0 +1,64 @@ +# +# Copyright 2017 Shivansh Rai +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +usage_output='usage: chflags [-fhv] [-R [-H | -L | -P]] flags file ... +' + +atf_test_case invalid_usage +invalid_usage_head() +{ + atf_set "descr" "Verify that an invalid usage with a supported option produces a valid error message" +} + +invalid_usage_body() +{ + atf_check -s exit:1 -e inline:"$usage_output" chflags -f + atf_check -s exit:1 -e inline:"$usage_output" chflags -H + atf_check -s exit:1 -e inline:"$usage_output" chflags -h + atf_check -s exit:1 -e inline:"$usage_output" chflags -L + atf_check -s exit:1 -e inline:"$usage_output" chflags -P + atf_check -s exit:1 -e inline:"$usage_output" chflags -R + atf_check -s exit:1 -e inline:"$usage_output" chflags -v +} + +atf_test_case no_arguments +no_arguments_head() +{ + atf_set "descr" "Verify that chflags(1) fails and generates a valid usage message when no arguments are supplied" +} + +no_arguments_body() +{ + atf_check -s exit:1 -e inline:"$usage_output" chflags +} + +atf_init_test_cases() +{ + atf_add_test_case invalid_usage + atf_add_test_case no_arguments +} Index: bin/mkdir/Makefile =================================================================== --- bin/mkdir/Makefile +++ bin/mkdir/Makefile @@ -4,4 +4,7 @@ PACKAGE=runtime PROG= mkdir +HAS_TESTS= +SUBDIR.${MK_TESTS}+= tests + .include Index: bin/mkdir/tests/Makefile =================================================================== --- /dev/null +++ bin/mkdir/tests/Makefile @@ -0,0 +1,5 @@ +# $FreeBSD$ + +ATF_TESTS_SH+= mkdir_test + +.include Index: bin/mkdir/tests/mkdir_test.sh =================================================================== --- /dev/null +++ bin/mkdir/tests/mkdir_test.sh @@ -0,0 +1,62 @@ +# +# Copyright 2017 Shivansh Rai +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +usage_output='usage: mkdir [-pv] [-m mode] directory_name ... +' + +atf_test_case invalid_usage +invalid_usage_head() +{ + atf_set "descr" "Verify that an invalid usage with a supported option produces a valid error message" +} + +invalid_usage_body() +{ + atf_check -s exit:64 -e inline:"mkdir: option requires an argument -- m +usage: mkdir [-pv] [-m mode] directory_name ... +" mkdir -m + atf_check -s exit:64 -e inline:"$usage_output" mkdir -p + atf_check -s exit:64 -e inline:"$usage_output" mkdir -v +} + +atf_test_case no_arguments +no_arguments_head() +{ + atf_set "descr" "Verify that mkdir(1) fails and generates a valid usage message when no arguments are supplied" +} + +no_arguments_body() +{ + atf_check -s exit:64 -e inline:"$usage_output" mkdir +} + +atf_init_test_cases() +{ + atf_add_test_case invalid_usage + atf_add_test_case no_arguments +} Index: bin/rcp/Makefile =================================================================== --- bin/rcp/Makefile +++ bin/rcp/Makefile @@ -11,4 +11,7 @@ BINOWN= root BINMODE=4555 +HAS_TESTS= +SUBDIR.${MK_TESTS}+= tests + .include Index: bin/rcp/tests/Makefile =================================================================== --- /dev/null +++ bin/rcp/tests/Makefile @@ -0,0 +1,5 @@ +# $FreeBSD$ + +ATF_TESTS_SH+= rcp_test + +.include Index: bin/rcp/tests/rcp_test.sh =================================================================== --- /dev/null +++ bin/rcp/tests/rcp_test.sh @@ -0,0 +1,62 @@ +# +# Copyright 2017 Shivansh Rai +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +usage_output='usage: rcp [-46p] file1 file2 + rcp [-46pr] file ... directory +' + +atf_test_case invalid_usage +invalid_usage_head() +{ + atf_set "descr" "Verify that an invalid usage with a supported option produces a valid error message" +} + +invalid_usage_body() +{ + atf_check -s exit:1 -e inline:"$usage_output" rcp -4 + atf_check -s exit:1 -e inline:"$usage_output" rcp -6 + atf_check -s exit:1 -e inline:"$usage_output" rcp -p + atf_check -s exit:1 -e inline:"$usage_output" rcp -r +} + +atf_test_case no_arguments +no_arguments_head() +{ + atf_set "descr" "Verify that rcp(1) fails and generates a valid usage message when no arguments are supplied" +} + +no_arguments_body() +{ + atf_check -s exit:1 -e inline:"$usage_output" rcp +} + +atf_init_test_cases() +{ + atf_add_test_case invalid_usage + atf_add_test_case no_arguments +} Index: bin/rmdir/Makefile =================================================================== --- bin/rmdir/Makefile +++ bin/rmdir/Makefile @@ -4,4 +4,7 @@ PACKAGE=runtime PROG= rmdir +HAS_TESTS= +SUBDIR.${MK_TESTS}+= tests + .include Index: bin/rmdir/tests/Makefile =================================================================== --- /dev/null +++ bin/rmdir/tests/Makefile @@ -0,0 +1,5 @@ +# $FreeBSD$ + +ATF_TESTS_SH+= rmdir_test + +.include Index: bin/rmdir/tests/rmdir_test.sh =================================================================== --- /dev/null +++ bin/rmdir/tests/rmdir_test.sh @@ -0,0 +1,59 @@ +# +# Copyright 2017 Shivansh Rai +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +usage_output='usage: rmdir [-pv] directory ... +' + +atf_test_case invalid_usage +invalid_usage_head() +{ + atf_set "descr" "Verify that an invalid usage with a supported option produces a valid error message" +} + +invalid_usage_body() +{ + atf_check -s exit:1 -e inline:"$usage_output" rmdir -p + atf_check -s exit:1 -e inline:"$usage_output" rmdir -v +} + +atf_test_case no_arguments +no_arguments_head() +{ + atf_set "descr" "Verify that rmdir(1) fails and generates a valid usage message when no arguments are supplied" +} + +no_arguments_body() +{ + atf_check -s exit:1 -e inline:"$usage_output" rmdir +} + +atf_init_test_cases() +{ + atf_add_test_case invalid_usage + atf_add_test_case no_arguments +} Index: etc/mtree/BSD.tests.dist =================================================================== --- etc/mtree/BSD.tests.dist +++ etc/mtree/BSD.tests.dist @@ -8,6 +8,8 @@ bin cat .. + chflags + .. chmod .. date @@ -22,6 +24,8 @@ .. ls .. + mkdir + .. mv .. pax @@ -30,6 +34,10 @@ .. pwait .. + rcp + .. + rmdir + .. sh builtins ..