Page MenuHomeFreeBSD

D11020.id29122.diff
No OneTemporary

D11020.id29122.diff

Index: bin/cat/tests/Makefile
===================================================================
--- bin/cat/tests/Makefile
+++ bin/cat/tests/Makefile
@@ -6,8 +6,12 @@
${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.in
+${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
===================================================================
--- /dev/null
+++ bin/cat/tests/cat_test
@@ -0,0 +1,99 @@
+#! /usr/libexec/atf-sh
+# $NetBSD: t_cat.sh,v 1.3 2016/06/16 01:04:58 sevan Exp $
+#
+# Copyright (c) 2012 The NetBSD Foundation, Inc.
+# All rights reserved.
+#
+# This code is derived from software contributed to The NetBSD Foundation
+# by Jukka Ruohonen.
+#
+# 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
+#
+
+atf_test_case align
+align_head() {
+ atf_set "descr" "Test that cat(1) aligns the output " \
+ "right with options '-b' (PR bin/4841)"
+}
+
+align_body() {
+
+ atf_check -s ignore -o file:$(atf_get_srcdir)/d_align.out \
+ -x "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)"
+}
+
+atf_test_case e_output
+e_output_head() {
+ atf_set "descr" "Test that cat(1) prints a $ sign " \
+ "on blank lines with options '-e' (PR bin/51250)"
+}
+
+e_output_body() {
+ atf_check -s ignore -o file:$(atf_get_srcdir)/d_e_output.out \
+ -x "cat -e $(atf_get_srcdir)/d_e_output.in"
+}
+
+nonexistent_body() {
+
+ atf_check -s not-exit:0 -o empty -e not-empty \
+ -x "cat /some/name/that/does/not/exist"
+}
+
+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 \
+ -x "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 \
+ -x "cat -vt $(atf_get_srcdir)/d_vt_output.in"
+}
+
+atf_init_test_cases()
+{
+ atf_add_test_case align
+ atf_add_test_case e_output
+ atf_add_test_case nonexistent
+ 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.in
===================================================================
--- /dev/null
+++ bin/cat/tests/d_e_output.in
@@ -0,0 +1,3 @@
+
+Of course it runs NetBSD
+
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
Wed, Mar 18, 5:31 AM (19 h, 58 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29884093
Default Alt Text
D11020.id29122.diff (5 KB)

Event Timeline