OSDN Git Service

* tests/lha-test14: `test -e' is unavailable on some systems.
[lha/lha.git] / tests / lha-test14
1 # -*- shell-script -*-
2 FILENAME=lha-test14
3 message testing to handle symbolic links
4
5 ln -s test-a test-tmp-a &&
6 ln -s test-b test-tmp-b &&
7 ln -s test-c test-tmp-c
8                                                         check $? $LINENO
9 $lha c test-tmp-1.lzh test-tmp-[abc]
10                                                         check $? $LINENO
11 $lha v test-tmp-1.lzh
12                                                         check $? $LINENO
13 $lha xw=test-tmp-1 test-tmp-1.lzh 2> test-tmp-stderr
14                                                         check $? $LINENO
15 # LHa: Symbolic Link test-a -> test-tmp-1/test-tmp-a
16 # LHa: Symbolic Link test-b -> test-tmp-1/test-tmp-b
17 # LHa: Symbolic Link test-c -> test-tmp-1/test-tmp-c
18 test -s test-tmp-stderr
19                                                         check $? $LINENO
20 test -L test-tmp-1/test-tmp-a &&
21 test -L test-tmp-1/test-tmp-b &&
22 test -L test-tmp-1/test-tmp-c
23                                                         check $? $LINENO
24 # symbolic link is broken
25 test ! -f test-tmp-1/test-tmp-a &&
26 test ! -f test-tmp-1/test-tmp-b &&
27 test ! -f test-tmp-1/test-tmp-c
28                                                         check $? $LINENO
29
30 # symbolic link filename contains '|'
31 case `$lha --version 2>&1` in
32 *-pc-cygwin*|*-pc-mingw*)
33     #  On MS Windows, '|' is invalid character as filename.
34     ;;
35 *)
36 ln -s test-a test-tmp-\|foo
37                                                         check $? $LINENO
38 $lha c test-tmp-2.lzh test-tmp-\|foo 2> test-tmp-stderr
39 test $? -ne 0
40                                                         check $? $LINENO
41 #LHa: Error: symlink name "test-tmp-|foo" contains '|' char. change it into '_'
42 test -s test-tmp-stderr
43                                                         check $? $LINENO
44 # '|' was changed into '_'.
45 $lha v test-tmp-2.lzh
46                                                         check $? $LINENO
47 $lha v test-tmp-2.lzh | egrep 'test-a -> test-tmp-_foo'
48                                                         check $? $LINENO
49 $lha xw=test-tmp-2 test-tmp-2.lzh 2> test-tmp-stderr
50                                                         check $? $LINENO
51 test -s test-tmp-stderr
52                                                         check $? $LINENO
53 test -L test-tmp-2/test-tmp-_foo &&
54 test ! -f test-tmp-1/test-tmp-_foo
55                                                         check $? $LINENO
56 # linked filename contains '|'
57 touch test-tmp-\|bar &&
58 ln -s test-test-tmp-\|bar test-tmp-foo
59                                                         check $? $LINENO
60 $lha c test-tmp-3.lzh test-tmp-foo
61                                                         check $? $LINENO
62 $lha v test-tmp-3.lzh
63                                                         check $? $LINENO
64 $lha v test-tmp-3.lzh | egrep 'test-tmp-\|bar -> test-tmp-foo'
65                                                         check $? $LINENO
66 $lha xw=test-tmp-3 test-tmp-3.lzh 2> test-tmp-stderr
67                                                         check $? $LINENO
68 # LHa: Symbolic Link test-test-tmp-|bar -> test-tmp-3/test-tmp-foo
69 test -s test-tmp-stderr
70                                                         check $? $LINENO
71 test -L test-tmp-3/test-tmp-foo &&
72 test ! -f test-tmp-1/test-tmp-foo
73                                                         check $? $LINENO
74 ;;
75 esac