diff options
author | Łukasz Stelmach <l.stelmach@samsung.com> | 2014-01-15 13:17:08 +0100 |
---|---|---|
committer | Łukasz Stelmach <l.stelmach@samsung.com> | 2014-01-15 13:17:08 +0100 |
commit | 90b2de102fe4c773f9d6ba2da2065f254a5803b6 (patch) | |
tree | e1fa3d099d6e8eeafd3dd0eef243b8d2f41a0b9b /gnulib-tests/test-init.sh | |
parent | 20c6d7ec2c817aa561410130efc8c8254fbef2b2 (diff) | |
download | diffutils-90b2de102fe4c773f9d6ba2da2065f254a5803b6.tar.gz diffutils-90b2de102fe4c773f9d6ba2da2065f254a5803b6.tar.bz2 diffutils-90b2de102fe4c773f9d6ba2da2065f254a5803b6.zip |
Imported Upstream version 3.3upstream/3.3
Diffstat (limited to 'gnulib-tests/test-init.sh')
-rwxr-xr-x | gnulib-tests/test-init.sh | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/gnulib-tests/test-init.sh b/gnulib-tests/test-init.sh new file mode 100755 index 0000000..6eb6b43 --- /dev/null +++ b/gnulib-tests/test-init.sh @@ -0,0 +1,73 @@ +#!/bin/sh +# Unit tests for init.sh +# Copyright (C) 2011-2013 Free Software Foundation, Inc. +# This file is part of the GNUlib Library. +# +# 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/>. */ + +: ${srcdir=.} +. "$srcdir/init.sh"; path_prepend_ . + +fail=0 + +test_compare() +{ + touch empty || fail=1 + echo xyz > in || fail=1 + + compare /dev/null /dev/null >out 2>err || fail=1 + test -s out && fail_ "out not empty: $(cat out)" + # "err" should be empty, too, but has "set -x" output when VERBOSE=yes + case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac + + compare /dev/null empty >out 2>err || fail=1 + test -s out && fail_ "out not empty: $(cat out)" + case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac + + compare in in >out 2>err || fail=1 + test -s out && fail_ "out not empty: $(cat out)" + case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac + + compare /dev/null in >out 2>err && fail=1 + cat <<\EOF > exp +diff -u /dev/null in +--- /dev/null 1970-01-01 ++++ in 1970-01-01 ++xyz +EOF + compare exp out || fail=1 + case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac + + compare empty in >out 2>err && fail=1 + # Compare against expected output only if compare is using diff -u. + if grep @ out >/dev/null; then + # Remove the TAB-date suffix on each --- and +++ line, + # for both the expected and the actual output files. + # Also remove the @@ line, since Solaris 5.10 and GNU diff formats differ: + # -@@ -0,0 +1 @@ + # +@@ -1,0 +1,1 @@ + sed 's/ .*//;/^@@/d' out > k && mv k out + cat <<\EOF > exp +--- empty ++++ in ++xyz +EOF + compare exp out || fail=1 + fi + case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac +} + +test_compare + +Exit $fail |