From a0cbaa4fc80a6b75b4f3b09f46a05702449fd7e4 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sat, 8 Sep 2007 08:57:42 +0200 Subject: Move the two tests in tests/fmt to tests/misc/fmt. * tests/fmt/basic: Move this file to ... * tests/misc/fmt: ...here. Don't rely on $PROG in env. * tests/fmt/long-line: Move this file to ... * tests/misc/fmt-long-line: ...here. * tests/misc/Makefile.am (TESTS): Add fmt. * tests/Makefile.am (SUBDIRS): Remove fmt. * tests/fmt: Remove the directory. * configure.ac (AC_CONFIG_FILES): Remove tests/fmt/Makefile --- configure.ac | 1 - tests/Makefile.am | 2 +- tests/fmt/Makefile.am | 13 -------- tests/fmt/basic | 86 ------------------------------------------------ tests/fmt/long-line | 79 -------------------------------------------- tests/misc/Makefile.am | 2 ++ tests/misc/fmt | 85 +++++++++++++++++++++++++++++++++++++++++++++++ tests/misc/fmt-long-line | 79 ++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 167 insertions(+), 180 deletions(-) delete mode 100644 tests/fmt/Makefile.am delete mode 100755 tests/fmt/basic delete mode 100755 tests/fmt/long-line create mode 100755 tests/misc/fmt create mode 100755 tests/misc/fmt-long-line diff --git a/configure.ac b/configure.ac index ed6953f37..6012b5625 100644 --- a/configure.ac +++ b/configure.ac @@ -343,7 +343,6 @@ AC_CONFIG_FILES( tests/cut/Makefile tests/dd/Makefile tests/du/Makefile - tests/fmt/Makefile tests/head/Makefile tests/install/Makefile tests/join/Makefile diff --git a/tests/Makefile.am b/tests/Makefile.am index 53985da04..be36fb87a 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -44,7 +44,7 @@ EXTRA_DIST = \ ## N O T E :: Please do not add new tests/ directories. ## There are too many already. Put new tests in misc/. SUBDIRS = \ - chgrp chmod chown cp cut dd du fmt head \ + chgrp chmod chown cp cut dd du head \ install join ln ls ls-2 md5sum misc mkdir mv od pr readlink rm rmdir \ seq sha1sum shred sort stty sum tac tail tail-2 tee test touch tr \ tsort unexpand uniq wc diff --git a/tests/fmt/Makefile.am b/tests/fmt/Makefile.am deleted file mode 100644 index 3ed6f7283..000000000 --- a/tests/fmt/Makefile.am +++ /dev/null @@ -1,13 +0,0 @@ -## Process this file with automake to produce Makefile.in -*-Makefile-*-. - -EXTRA_DIST = $(TESTS) - -TESTS_ENVIRONMENT = \ - top_srcdir=$(top_srcdir) \ - srcdir=$(srcdir) \ - PERL="$(PERL)" \ - CU_TEST_NAME=`basename $(abs_srcdir)`,$$tst \ - PATH="$(VG_PATH_PREFIX)`pwd`/../../src$(PATH_SEPARATOR)$$PATH" \ - PROG=fmt - -TESTS = basic long-line diff --git a/tests/fmt/basic b/tests/fmt/basic deleted file mode 100755 index dae2f97bc..000000000 --- a/tests/fmt/basic +++ /dev/null @@ -1,86 +0,0 @@ -#!/bin/sh -# -*- perl -*- -# Basic tests for "fmt". - -# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software -# Foundation, Inc. - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -: ${PERL=perl} -: ${srcdir=.} - -$PERL -e 1 > /dev/null 2>&1 || { - echo 1>&2 "$0: configure didn't find a usable version of Perl," \ - "so can't run this test" - exit 77 -} - -# Export this to avoid hassles when run in a UTF-8 locale, -# since we use 8-bit characters below, and those values are -# interpolated into strings (to perform substitution) in Coreutils.pm. -LC_ALL=C -export LC_ALL - -me=`echo $0|sed 's,.*/,,'` -exec $PERL -w -I$srcdir/.. -MCoreutils -M"CuTmpdir qw($me)" -- - <<\EOF -require 5.003; -use strict; - -(my $program_name = $0) =~ s|.*/||; - -my @Tests = - ( - ['8-bit-pfx', qw (-p 'ç'), - {IN=> "ça\nçb\n"}, - {OUT=>"ça b\n"}], - ['wide-1', '-w 32768', - {ERR => "fmt: invalid width: `32768'\n"}, {EXIT => 1}], - ['wide-2', '-w 2147483647', - {ERR => "fmt: invalid width: `2147483647'\n"}, {EXIT => 1}], - ['bad-suffix', '-72x', {IN=> ''}, - {ERR => "fmt: invalid width: `72x'\n"}, {EXIT => 1}], - ['no-file', 'no-such-file', - {ERR => "fmt: cannot open `no-such-file' for reading:" - . " No such file or directory\n"}, {EXIT => 1}], - ['obs-1', '-c -72', - {ERR => "fmt: invalid option -- 7; -WIDTH is recognized only when it" - . " is the first\noption; use -w N instead\n" - . "Try `fmt --help' for more information.\n" }, {EXIT => 1}], - - # With --prefix=P, do not remove leading space on lines without the prefix. - ['pfx-1', qw (-p '>'), - {IN=> " 1\n 2\n\t3\n\t\t4\n> quoted\n> text\n"}, - {OUT=> " 1\n 2\n\t3\n\t\t4\n> quoted text\n"}], - - # Don't remove prefix from a prefix-only line. - ['pfx-only', qw (-p '>'), - {IN=> ">\n"}, - {OUT=> ">\n"}], - - # With a multi-byte prefix, say, "foo", don't empty a line that - # starts with a strict prefix (e.g. "fo") of that prefix. - # With fmt from coreutils-6.7, it would mistakenly output an empty line. - ['pfx-of-pfx', qw (-p 'foo'), - {IN=> "fo\n"}, - {OUT=> "fo\n"}], -); - -my $save_temps = $ENV{DEBUG}; -my $verbose = $ENV{VERBOSE}; - -my $prog = $ENV{PROG} || die "$0: \$PROG not specified in environment\n"; -my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); -exit $fail; -EOF diff --git a/tests/fmt/long-line b/tests/fmt/long-line deleted file mode 100755 index 547b02f3c..000000000 --- a/tests/fmt/long-line +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/sh -# make sure fmt -s works even on long lines - -# Copyright (C) 2002, 2006 Free Software Foundation, Inc. - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -if test "$VERBOSE" = yes; then - set -x - fmt --version -fi - -pwd=`pwd` -t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$ -trap 'status=$?; cd "$pwd" && chmod -R u+rwx $t0 && rm -rf $t0 && exit $status' 0 -trap '(exit $?); exit $?' 1 2 13 15 - -framework_failure=0 -mkdir -p $tmp || framework_failure=1 -cd $tmp || framework_failure=1 -(echo ' '; yes) | head -n1000 | tr '\n' ' ' > in || framework_failure=1 - -cat <<\EOF > exp || framework_failure=1 - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y - y y -EOF - -if test $framework_failure = 1; then - echo "$0: failure in testing framework" 1>&2 - (exit 1); exit 1 -fi - -fail=0 - -fmt -s in > out || fail=1 - -cmp out exp || fail=1 -test $fail = 1 && diff out exp 2> /dev/null - -(exit $fail); exit $fail diff --git a/tests/misc/Makefile.am b/tests/misc/Makefile.am index b23785847..faf9e49da 100644 --- a/tests/misc/Makefile.am +++ b/tests/misc/Makefile.am @@ -69,6 +69,8 @@ TESTS = \ expr \ factor \ false-status \ + fmt \ + fmt-long-line \ fold \ groups-version \ head-c \ diff --git a/tests/misc/fmt b/tests/misc/fmt new file mode 100755 index 000000000..043bf723a --- /dev/null +++ b/tests/misc/fmt @@ -0,0 +1,85 @@ +#!/bin/sh +# -*- perl -*- +# Basic tests for "fmt". + +# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software +# Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +: ${PERL=perl} +: ${srcdir=.} + +$PERL -e 1 > /dev/null 2>&1 || { + echo 1>&2 "$0: configure didn't find a usable version of Perl," \ + "so can't run this test" + exit 77 +} + +# Export this to avoid hassles when run in a UTF-8 locale, +# since we use 8-bit characters below, and those values are +# interpolated into strings (to perform substitution) in Coreutils.pm. +LC_ALL=C +export LC_ALL + +me=`echo $0|sed 's,.*/,,'` +exec $PERL -w -I$srcdir/.. -MCoreutils -M"CuTmpdir qw($me)" -- - <<\EOF +require 5.003; +use strict; + +(my $program_name = $0) =~ s|.*/||; + +my @Tests = + ( + ['8-bit-pfx', qw (-p 'ç'), + {IN=> "ça\nçb\n"}, + {OUT=>"ça b\n"}], + ['wide-1', '-w 32768', + {ERR => "fmt: invalid width: `32768'\n"}, {EXIT => 1}], + ['wide-2', '-w 2147483647', + {ERR => "fmt: invalid width: `2147483647'\n"}, {EXIT => 1}], + ['bad-suffix', '-72x', {IN=> ''}, + {ERR => "fmt: invalid width: `72x'\n"}, {EXIT => 1}], + ['no-file', 'no-such-file', + {ERR => "fmt: cannot open `no-such-file' for reading:" + . " No such file or directory\n"}, {EXIT => 1}], + ['obs-1', '-c -72', + {ERR => "fmt: invalid option -- 7; -WIDTH is recognized only when it" + . " is the first\noption; use -w N instead\n" + . "Try `fmt --help' for more information.\n" }, {EXIT => 1}], + + # With --prefix=P, do not remove leading space on lines without the prefix. + ['pfx-1', qw (-p '>'), + {IN=> " 1\n 2\n\t3\n\t\t4\n> quoted\n> text\n"}, + {OUT=> " 1\n 2\n\t3\n\t\t4\n> quoted text\n"}], + + # Don't remove prefix from a prefix-only line. + ['pfx-only', qw (-p '>'), + {IN=> ">\n"}, + {OUT=> ">\n"}], + + # With a multi-byte prefix, say, "foo", don't empty a line that + # starts with a strict prefix (e.g. "fo") of that prefix. + # With fmt from coreutils-6.7, it would mistakenly output an empty line. + ['pfx-of-pfx', qw (-p 'foo'), + {IN=> "fo\n"}, + {OUT=> "fo\n"}], +); + +my $save_temps = $ENV{DEBUG}; +my $verbose = $ENV{VERBOSE}; +my $prog = 'fmt'; +my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); +exit $fail; +EOF diff --git a/tests/misc/fmt-long-line b/tests/misc/fmt-long-line new file mode 100755 index 000000000..547b02f3c --- /dev/null +++ b/tests/misc/fmt-long-line @@ -0,0 +1,79 @@ +#!/bin/sh +# make sure fmt -s works even on long lines + +# Copyright (C) 2002, 2006 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +if test "$VERBOSE" = yes; then + set -x + fmt --version +fi + +pwd=`pwd` +t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$ +trap 'status=$?; cd "$pwd" && chmod -R u+rwx $t0 && rm -rf $t0 && exit $status' 0 +trap '(exit $?); exit $?' 1 2 13 15 + +framework_failure=0 +mkdir -p $tmp || framework_failure=1 +cd $tmp || framework_failure=1 +(echo ' '; yes) | head -n1000 | tr '\n' ' ' > in || framework_failure=1 + +cat <<\EOF > exp || framework_failure=1 + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y + y y +EOF + +if test $framework_failure = 1; then + echo "$0: failure in testing framework" 1>&2 + (exit 1); exit 1 +fi + +fail=0 + +fmt -s in > out || fail=1 + +cmp out exp || fail=1 +test $fail = 1 && diff out exp 2> /dev/null + +(exit $fail); exit $fail -- cgit v1.2.3-70-g09d2