2 # Unit tests for init.sh
3 # Copyright (C) 2011-2024 Free Software Foundation, Inc.
4 # This file is part of the GNUlib Library.
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 3 of the License, or
9 # (at your option) any later version.
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.
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <https://www.gnu.org/licenses/>. */
20 .
"$srcdir/init.sh"; path_prepend_ .
27 echo xyz
> in || fail
=1
29 compare
/dev
/null
/dev
/null
>out
2>err || fail
=1
30 test -s out
&& fail_
"out not empty: $(cat out)"
31 # "err" should be empty, too, but has "set -x" output when VERBOSE=yes
32 case $
- in *x
*) ;; *) test -s err
&& fail_
"err not empty: $(cat err)";; esac
34 compare
/dev
/null empty
>out
2>err || fail
=1
35 test -s out
&& fail_
"out not empty: $(cat out)"
36 case $
- in *x
*) ;; *) test -s err
&& fail_
"err not empty: $(cat err)";; esac
38 compare
in in >out
2>err || fail
=1
39 test -s out
&& fail_
"out not empty: $(cat out)"
40 case $
- in *x
*) ;; *) test -s err
&& fail_
"err not empty: $(cat err)";; esac
42 compare
/dev
/null
in >out
2>err
&& fail
=1
45 --- /dev
/null
1970-01-01
49 compare exp out || fail
=1
50 case $
- in *x
*) ;; *) test -s err
&& fail_
"err not empty: $(cat err)";; esac
52 compare empty
in >out
2>err
&& fail
=1
53 # Compare against expected output only if compare is using diff -u.
54 if grep @ out
>/dev
/null
; then
55 # Remove the TAB-date suffix on each --- and +++ line,
56 # for both the expected and the actual output files.
57 # Also remove the @@ line, since Solaris 5.10 and GNU diff formats differ:
60 # Also, remove space after leading '+', since AIX 7.1 diff outputs a space.
61 sed 's/ .*//;/^@@/d;s/^+ /+/' out
> k
&& mv k out
67 compare exp out || fail
=1
69 case $
- in *x
*) ;; *) test -s err
&& fail_
"err not empty: $(cat err)";; esac