Add regression tests for the 1990s bugs PR bin/3538 and PR bin/4841.

This commit is contained in:
jruoho 2012-03-27 08:16:33 +00:00
parent 015162ac4e
commit 651e2c6948
7 changed files with 87 additions and 4 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: mi,v 1.457 2012/03/27 07:39:00 jruoho Exp $
# $NetBSD: mi,v 1.458 2012/03/27 08:16:33 jruoho Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@ -1353,6 +1353,11 @@
./usr/tests/atf/units/t_utils tests-obsolete obsolete
./usr/tests/bin tests-bin-tests
./usr/tests/bin/Atffile tests-bin-tests atf
./usr/tests/bin/cat tests-bin-tests
./usr/tests/bin/cat/Atffile tests-bin-tests atf
./usr/tests/bin/cat/d_align.in tests-bin-tests atf
./usr/tests/bin/cat/d_align.out tests-bin-tests atf
./usr/tests/bin/cat/t_cat tests-bin-tests atf
./usr/tests/bin/cp tests-bin-tests
./usr/tests/bin/cp/Atffile tests-bin-tests atf
./usr/tests/bin/cp/t_cp tests-bin-tests atf

View File

@ -1,4 +1,4 @@
# $NetBSD: NetBSD.dist.tests,v 1.69 2012/03/20 06:18:34 jruoho Exp $
# $NetBSD: NetBSD.dist.tests,v 1.70 2012/03/27 08:16:33 jruoho Exp $
./usr/libdata/debug/usr/tests
./usr/libdata/debug/usr/tests/atf
@ -129,6 +129,7 @@
./usr/tests/atf/atf-sh
./usr/tests/atf/test-programs
./usr/tests/bin
./usr/tests/bin/cat
./usr/tests/bin/cp
./usr/tests/bin/dd
./usr/tests/bin/df

View File

@ -1,9 +1,9 @@
# $NetBSD: Makefile,v 1.1 2012/03/17 16:33:10 jruoho Exp $
# $NetBSD: Makefile,v 1.2 2012/03/27 08:16:33 jruoho Exp $
.include <bsd.own.mk>
TESTSDIR= ${TESTSBASE}/bin
TESTS_SUBDIRS= cp dd df expr pax ps sh tar
TESTS_SUBDIRS= cat cp dd df expr pax ps sh tar
.include <bsd.test.mk>

12
tests/bin/cat/Makefile Normal file
View File

@ -0,0 +1,12 @@
# $NetBSD: Makefile,v 1.1 2012/03/27 08:16:33 jruoho Exp $
.include <bsd.own.mk>
TESTSDIR= ${TESTSBASE}/bin/cat
TESTS_SH= t_cat
FILESDIR= ${TESTSDIR}
FILES+= d_align.in
FILES+= d_align.out
.include <bsd.test.mk>

3
tests/bin/cat/d_align.in Normal file
View File

@ -0,0 +1,3 @@
a b c
1 2 3
x y z

View File

@ -0,0 +1,3 @@
1 a b c$
2 1 2 3$
3 x y z$

59
tests/bin/cat/t_cat.sh Normal file
View File

@ -0,0 +1,59 @@
# $NetBSD: t_cat.sh,v 1.1 2012/03/27 08:16:33 jruoho 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 '-be' (PR bin/4841)"
}
align_body() {
atf_check -s ignore -o file:$(atf_get_srcdir)/d_align.out \
-x "cat -be $(atf_get_srcdir)/d_align.in"
}
atf_test_case nonexistent
nonexistent_head() {
atf_set "descr" "Test that cat(1) doest return zero exit " \
"status for a nonexistent file (PR bin/3538)"
}
nonexistent_body() {
atf_check -s not-exit:0 -o empty -e not-empty \
-x "cat /some/name/that/does/not/exist"
}
atf_init_test_cases()
{
atf_add_test_case align
atf_add_test_case nonexistent
}