Page MenuHomeFreeBSD

D11020.id29125.diff
No OneTemporary

D11020.id29125.diff

Index: bin/cat/tests/Makefile
===================================================================
--- bin/cat/tests/Makefile
+++ bin/cat/tests/Makefile
@@ -2,12 +2,16 @@
PACKAGE= tests
-NETBSD_ATF_TESTS_SH= cat_test
+ATF_TESTS_SH+= cat_test
${PACKAGE}FILES+= d_align.in
${PACKAGE}FILES+= d_align.out
${PACKAGE}FILES+= d_se_output.in
-${PACKAGE}FILES+= d_se_output.out
+${PACKAGE}FILES+= d_e_output.out
+${PACKAGE}FILES+= d_s_output.in
+${PACKAGE}FILES+= d_s_output.out
+${PACKAGE}FILES+= d_vt_output.in
+${PACKAGE}FILES+= d_vt_output.out
.include <netbsd-tests.test.mk>
Index: bin/cat/tests/cat_test.sh
===================================================================
--- /dev/null
+++ bin/cat/tests/cat_test.sh
@@ -0,0 +1,92 @@
+#
+# 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 align
+align_head() {
+ atf_set "descr" "Test that cat(1) aligns the output " \
+ "right with option '-b' (PR bin/4841)"
+}
+
+align_body() {
+ atf_check -s ignore -o file:$(atf_get_srcdir)/d_align.out \
+ cat -b $(atf_get_srcdir)/d_align.in
+}
+
+atf_test_case nonexistent
+nonexistent_head() {
+ atf_set "descr" "Test that cat(1) doesn't return zero exit " \
+ "status for a nonexistent file (PR bin/3538)"
+}
+
+nonexistent_body() {
+ atf_check -s not-exit:0 -o empty -e not-empty \
+ cat /some/name/that/does/not/exist
+}
+
+atf_test_case e_output
+e_output_head() {
+ atf_set "descr" "Test that cat(1) prints a $ sign " \
+ "on blank lines with option '-e' (PR bin/51250)"
+}
+
+e_output_body() {
+ atf_check -s ignore -o file:$(atf_get_srcdir)/d_e_output.out \
+ cat -e $(atf_get_srcdir)/d_se_output.in
+}
+
+atf_test_case s_output
+s_output_head() {
+ atf_set "descr" "Test that cat(1) squeezes multiple adjacent " \
+ "empty lines producing a single spaced output with option '-s'"
+}
+
+s_output_body() {
+ atf_check -s ignore -o file:$(atf_get_srcdir)/d_s_output.out \
+ cat -s $(atf_get_srcdir)/d_s_output.in
+}
+
+atf_test_case vt_output
+vt_output_head() {
+ atf_set "descr" "Test that cat(1) displays non-printing characters, " \
+ "namely control characters, tab character and meta-characters " \
+ "using options '-vt'"
+}
+
+vt_output_body() {
+ atf_check -s ignore -o file:$(atf_get_srcdir)/d_vt_output.out \
+ cat -vt $(atf_get_srcdir)/d_vt_output.in
+}
+
+atf_init_test_cases()
+{
+ atf_add_test_case align
+ atf_add_test_case nonexistent
+ atf_add_test_case e_output
+ atf_add_test_case s_output
+ atf_add_test_case vt_output
+}
Index: bin/cat/tests/d_align.out
===================================================================
--- /dev/null
+++ bin/cat/tests/d_align.out
@@ -0,0 +1,5 @@
+ 1 a b c
+
+ 2 1 2 3
+
+ 3 x y z
Index: bin/cat/tests/d_e_output.out
===================================================================
--- /dev/null
+++ bin/cat/tests/d_e_output.out
@@ -0,0 +1,3 @@
+$
+Of course it runs NetBSD$
+$
Index: bin/cat/tests/d_s_output.in
===================================================================
--- /dev/null
+++ bin/cat/tests/d_s_output.in
@@ -0,0 +1,6 @@
+a b c
+
+
+1 2 3
+
+x y z
Index: bin/cat/tests/d_s_output.out
===================================================================
--- /dev/null
+++ bin/cat/tests/d_s_output.out
@@ -0,0 +1,5 @@
+a b c
+
+1 2 3
+
+x y z
Index: bin/cat/tests/d_vt_output.out
===================================================================
--- /dev/null
+++ bin/cat/tests/d_vt_output.out
@@ -0,0 +1,3 @@
+^I
+^X<BS>
+M-a

File Metadata

Mime Type
text/plain
Expires
Thu, Aug 13, 8:24 AM (10 h, 59 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
36618920
Default Alt Text
D11020.id29125.diff (4 KB)

Event Timeline