Tizen 2.0 Release
[external/tizen-coreutils.git] / tests / md5sum / newline-1
1 #!/bin/sh
2 # Newline tests for "md5sum".
3
4 # Copyright (C) 1999, 2000, 2003, 2005 Free Software Foundation, Inc.
5
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19 # 02110-1301, USA.
20
21 : ${PERL=perl}
22 : ${srcdir=.}
23
24 $PERL -e 1 > /dev/null 2>&1 || {
25   echo 1>&2 "$0: configure didn't find a usable version of Perl," \
26     "so can't run this test"
27   exit 77
28 }
29
30 # See if we can create a filename that contains a newline.
31 # Be careful to do it in a subshell so that we can redirect the
32 # error output if it fails.
33 (> 'a
34 b') 2> /dev/null \
35   && filename_may_contain_newline=yes \
36   || filename_may_contain_newline=no
37 rm -f 'a
38 b'
39
40 if test $filename_may_contain_newline = no; then
41   echo 1>&2 "$0: can't create newline-containing file name," \
42     "so can't run this test"
43   exit 77
44 fi
45
46 exec $PERL -w -I$srcdir/.. -MCoreutils -- - <<\EOF
47 require 5.003;
48 use strict;
49
50 (my $program_name = $0) =~ s|.*/||;
51
52 # Turn off localisation of executable's ouput.
53 @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3;
54
55 my $degenerate = "d41d8cd98f00b204e9800998ecf8427e";
56 my $t = '--text';
57
58 my @Tests =
59     (
60      ['newline', $t, {IN=> {"a\nb"=> ''}}, {OUT=>"\\$degenerate  a\\nb\n"}],
61     );
62
63 my $save_temps = $ENV{DEBUG};
64 my $verbose = $ENV{VERBOSE};
65
66 my $prog = $ENV{PROG} || die "$0: \$PROG not specified in environment\n";
67 my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose);
68 exit $fail;
69 EOF