summaryrefslogtreecommitdiff
path: root/tests/misc/md5sum-newline
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2007-09-08 15:51:25 +0200
committerJim Meyering <jim@meyering.net>2007-09-15 08:40:39 +0200
commit570fd054c62fb5982e92f2d03c6397b4c3e2a207 (patch)
tree3e6be5fdd18d00d1173b4d021490ced07d9c69a0 /tests/misc/md5sum-newline
parentb10817d9bdc33bc750c784a37eb0b01b5bf5d1dc (diff)
downloadcoreutils-570fd054c62fb5982e92f2d03c6397b4c3e2a207.tar.xz
Move the two tests in tests/md5sum to tests/misc/md5sum.
* tests/md5sum/basic-1: Move this file to ... * tests/misc/md5sum: ...here. Don't rely on $PROG in env. * tests/md5sum/newline-1: Move this file to ... * tests/misc/md5sum-newline: ...here. Don't rely on $PROG in env. * tests/misc/Makefile.am (TESTS): Add md5sum. * tests/Makefile.am (SUBDIRS): Remove md5sum. * tests/md5sum: Remove the directory. * configure.ac (AC_CONFIG_FILES): Remove tests/md5sum/Makefile
Diffstat (limited to 'tests/misc/md5sum-newline')
-rwxr-xr-xtests/misc/md5sum-newline68
1 files changed, 68 insertions, 0 deletions
diff --git a/tests/misc/md5sum-newline b/tests/misc/md5sum-newline
new file mode 100755
index 000000000..22717d41e
--- /dev/null
+++ b/tests/misc/md5sum-newline
@@ -0,0 +1,68 @@
+#!/bin/sh
+# Newline tests for "md5sum".
+
+# Copyright (C) 1999, 2000, 2003, 2005, 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 <http://www.gnu.org/licenses/>.
+
+: ${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
+}
+
+# See if we can create a filename that contains a newline.
+# Be careful to do it in a subshell so that we can redirect the
+# error output if it fails.
+(> 'a
+b') 2> /dev/null \
+ && filename_may_contain_newline=yes \
+ || filename_may_contain_newline=no
+rm -f 'a
+b'
+
+if test $filename_may_contain_newline = no; then
+ echo 1>&2 "$0: can't create newline-containing file name," \
+ "so can't run this test"
+ exit 77
+fi
+
+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|.*/||;
+
+# Turn off localisation of executable's ouput.
+@ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3;
+
+my $degenerate = "d41d8cd98f00b204e9800998ecf8427e";
+my $t = '--text';
+
+my @Tests =
+ (
+ ['newline', $t, {IN=> {"a\nb"=> ''}}, {OUT=>"\\$degenerate a\\nb\n"}],
+ );
+
+my $save_temps = $ENV{DEBUG};
+my $verbose = $ENV{VERBOSE};
+
+my $prog = 'md5sum';
+my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose);
+exit $fail;
+EOF