Module Name: src Committed By: snj Date: Tue Jul 5 19:03:31 UTC 2016
Modified Files: src/bin/cat [netbsd-7]: cat.c src/distrib/sets/lists/tests [netbsd-7]: mi src/tests/bin/cat [netbsd-7]: Makefile t_cat.sh Added Files: src/tests/bin/cat [netbsd-7]: d_se_output.in d_se_output.out Log Message: Pull up following revision(s) (requested by sevan in ticket #1182): bin/cat/cat.c: revision 1.57 distrib/sets/lists/tests/mi: revision 1.675 tests/bin/cat/Makefile: revision 1.2 tests/bin/cat/d_se_output.in: revision 1.1 tests/bin/cat/d_se_output.out: revision 1.1 tests/bin/cat/t_cat.sh: revision 1.3 When invoked with -se, print a '$' on blank lines Obtained from OpenBSD r1.13 of src/bin/cat/cat.c Closes PR bin/51250 Reviewed by Christos@ -- Add a unit test for PR bin/51250 called se_output. se_output checks the output of cat when invoked with '-se', to ensure that a '$' is printed on blank lines. -- Add input/output files for new test case - fix build To generate a diff of this commit: cvs rdiff -u -r1.54 -r1.54.4.1 src/bin/cat/cat.c cvs rdiff -u -r1.584.2.3 -r1.584.2.4 src/distrib/sets/lists/tests/mi cvs rdiff -u -r1.1 -r1.1.12.1 src/tests/bin/cat/Makefile cvs rdiff -u -r0 -r1.1.2.2 src/tests/bin/cat/d_se_output.in \ src/tests/bin/cat/d_se_output.out cvs rdiff -u -r1.2 -r1.2.12.1 src/tests/bin/cat/t_cat.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/bin/cat/cat.c diff -u src/bin/cat/cat.c:1.54 src/bin/cat/cat.c:1.54.4.1 --- src/bin/cat/cat.c:1.54 Sun Dec 8 08:32:13 2013 +++ src/bin/cat/cat.c Tue Jul 5 19:03:31 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: cat.c,v 1.54 2013/12/08 08:32:13 spz Exp $ */ +/* $NetBSD: cat.c,v 1.54.4.1 2016/07/05 19:03:31 snj Exp $ */ /* * Copyright (c) 1989, 1993 @@ -44,7 +44,7 @@ __COPYRIGHT( #if 0 static char sccsid[] = "@(#)cat.c 8.2 (Berkeley) 4/27/95"; #else -__RCSID("$NetBSD: cat.c,v 1.54 2013/12/08 08:32:13 spz Exp $"); +__RCSID("$NetBSD: cat.c,v 1.54.4.1 2016/07/05 19:03:31 snj Exp $"); #endif #endif /* not lint */ @@ -175,18 +175,16 @@ cook_buf(FILE *fp) line = gobble = 0; for (prev = '\n'; (ch = getc(fp)) != EOF; prev = ch) { if (prev == '\n') { - if (ch == '\n') { - if (sflag) { - if (!gobble && nflag && !bflag) - (void)fprintf(stdout, - "%6d\t\n", ++line); - else if (!gobble && putchar(ch) == EOF) - break; + if (sflag) { + if (ch == '\n') { + if (gobble) + continue; gobble = 1; - continue; + } else + gobble = 0; } if (nflag) { - if (!bflag) { + if (!bflag || ch != '\n') { (void)fprintf(stdout, "%6d\t", ++line); if (ferror(stdout)) @@ -198,13 +196,7 @@ cook_buf(FILE *fp) break; } } - } else if (nflag) { - (void)fprintf(stdout, "%6d\t", ++line); - if (ferror(stdout)) - break; } - } - gobble = 0; if (ch == '\n') { if (eflag) if (putchar('$') == EOF) Index: src/distrib/sets/lists/tests/mi diff -u src/distrib/sets/lists/tests/mi:1.584.2.3 src/distrib/sets/lists/tests/mi:1.584.2.4 --- src/distrib/sets/lists/tests/mi:1.584.2.3 Thu Aug 6 21:13:43 2015 +++ src/distrib/sets/lists/tests/mi Tue Jul 5 19:03:31 2016 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.584.2.3 2015/08/06 21:13:43 snj Exp $ +# $NetBSD: mi,v 1.584.2.4 2016/07/05 19:03:31 snj Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -801,6 +801,8 @@ ./usr/tests/bin/cat/Kyuafile tests-bin-tests atf,kyua ./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/d_se_output.in tests-bin-tests atf +./usr/tests/bin/cat/d_se_output.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 Index: src/tests/bin/cat/Makefile diff -u src/tests/bin/cat/Makefile:1.1 src/tests/bin/cat/Makefile:1.1.12.1 --- src/tests/bin/cat/Makefile:1.1 Tue Mar 27 08:16:33 2012 +++ src/tests/bin/cat/Makefile Tue Jul 5 19:03:31 2016 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2012/03/27 08:16:33 jruoho Exp $ +# $NetBSD: Makefile,v 1.1.12.1 2016/07/05 19:03:31 snj Exp $ .include <bsd.own.mk> @@ -8,5 +8,7 @@ TESTS_SH= t_cat FILESDIR= ${TESTSDIR} FILES+= d_align.in FILES+= d_align.out +FILES+= d_se_output.in +FILES+= d_se_output.out .include <bsd.test.mk> Index: src/tests/bin/cat/t_cat.sh diff -u src/tests/bin/cat/t_cat.sh:1.2 src/tests/bin/cat/t_cat.sh:1.2.12.1 --- src/tests/bin/cat/t_cat.sh:1.2 Tue Mar 27 17:57:02 2012 +++ src/tests/bin/cat/t_cat.sh Tue Jul 5 19:03:31 2016 @@ -1,4 +1,4 @@ -# $NetBSD: t_cat.sh,v 1.2 2012/03/27 17:57:02 jruoho Exp $ +# $NetBSD: t_cat.sh,v 1.2.12.1 2016/07/05 19:03:31 snj Exp $ # # Copyright (c) 2012 The NetBSD Foundation, Inc. # All rights reserved. @@ -52,8 +52,20 @@ nonexistent_body() { -x "cat /some/name/that/does/not/exist" } +atf_test_case se_output +se_output_head() { + atf_set "descr" "Test that cat(1) prints a $ sign " \ + "on blank lines with options '-se' (PR bin/51250)" +} + +se_output_body() { + atf_check -s ignore -o file:$(atf_get_srcdir)/d_se_output.out \ + -x "cat -se $(atf_get_srcdir)/d_se_output.in" +} + atf_init_test_cases() { atf_add_test_case align atf_add_test_case nonexistent + atf_add_test_case se_output } Added files: Index: src/tests/bin/cat/d_se_output.in diff -u /dev/null src/tests/bin/cat/d_se_output.in:1.1.2.2 --- /dev/null Tue Jul 5 19:03:31 2016 +++ src/tests/bin/cat/d_se_output.in Tue Jul 5 19:03:31 2016 @@ -0,0 +1,3 @@ + +Of course it runs NetBSD + Index: src/tests/bin/cat/d_se_output.out diff -u /dev/null src/tests/bin/cat/d_se_output.out:1.1.2.2 --- /dev/null Tue Jul 5 19:03:31 2016 +++ src/tests/bin/cat/d_se_output.out Tue Jul 5 19:03:31 2016 @@ -0,0 +1,3 @@ +$ +Of course it runs NetBSD$ +$