From 2d27382e5904d84335b2fc7784f01560f6d7c8d5 Mon Sep 17 00:00:00 2001 From: ngie Date: Thu, 6 Jul 2017 05:28:35 +0000 Subject: [PATCH] MFC r319626: Add basic tests for echo(1) Verify that echo(1) does not... - ... print the trailing newline character with option '-n'. - ... print the trailing newline character when '\c' is appended to the end of the string. git-svn-id: svn://svn.freebsd.org/base/stable/10@320712 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- bin/echo/Makefile | 6 ++++ bin/echo/tests/Makefile | 5 ++++ bin/echo/tests/echo_test.sh | 55 +++++++++++++++++++++++++++++++++++++ etc/mtree/BSD.tests.dist | 2 ++ 4 files changed, 68 insertions(+) create mode 100644 bin/echo/tests/Makefile create mode 100644 bin/echo/tests/echo_test.sh diff --git a/bin/echo/Makefile b/bin/echo/Makefile index d00d4679d..8013b8e40 100644 --- a/bin/echo/Makefile +++ b/bin/echo/Makefile @@ -1,6 +1,12 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 # $FreeBSD$ +.include + PROG= echo +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include diff --git a/bin/echo/tests/Makefile b/bin/echo/tests/Makefile new file mode 100644 index 000000000..5957ecbc1 --- /dev/null +++ b/bin/echo/tests/Makefile @@ -0,0 +1,5 @@ +# $FreeBSD$ + +ATF_TESTS_SH+= echo_test + +.include diff --git a/bin/echo/tests/echo_test.sh b/bin/echo/tests/echo_test.sh new file mode 100644 index 000000000..ddfd8903b --- /dev/null +++ b/bin/echo/tests/echo_test.sh @@ -0,0 +1,55 @@ +# +# 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$ +# + +atf_test_case n_output +n_output_head() { + atf_set "descr" "Verify that echo(1) does not print the trailing " \ + "newline character with option '-n'" +} + +n_output_body() { + atf_check -s ignore -o inline:"Hello world" \ + /bin/echo -n "Hello world" +} + +atf_test_case append_c_output +append_c_output_head() { + atf_set "descr" "Verify that echo(1) does not print the trailing newline " \ + "character when '\c' is appended to the end of the string" +} + +append_c_output_body() { + atf_check -s ignore -o inline:"Hello world" \ + /bin/echo "Hello world\c" +} + +atf_init_test_cases() +{ + atf_add_test_case n_output + atf_add_test_case append_c_output +} diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index 98f3b1d5c..9e7493326 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -14,6 +14,8 @@ .. dd .. + echo + .. expr .. ls -- 2.42.0