summaryrefslogtreecommitdiffstats
path: root/tests/ts/rename/subdir
blob: c3de0acfcdecda385f1a60e9ce35517c1c7cb4c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/bin/bash

#
# Copyright (C) 2014 Sami Kerola <kerolasa@iki.fi>
#
# This file is part of util-linux.
#
# This file 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 2 of the License, or
# (at your option) any later version.
#
# This file 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.
#
TS_TOPDIR="${0%/*}/../.."
TS_DESC="subdir check"

. "$TS_TOPDIR"/functions.sh
ts_init "$*"

ts_check_test_command "$TS_CMD_RENAME"
ts_cd "$TS_OUTDIR"

echo "== files ==" >> $TS_OUTPUT
mkdir rename_a{a,b}
touch rename_a{a,b}/aa
$TS_CMD_RENAME -v a x rename_a?/aa >> $TS_OUTPUT 2>> $TS_ERRLOG
find rename_a{a,b} >> $TS_OUTPUT 2>> $TS_ERRLOG

echo "== symlinks ==" >> $TS_OUTPUT
for i in rename_a{a,b}/sublink.{1..3}; do
	ln -s rename/aa $i
done
$TS_CMD_RENAME -s -v a x rename_a{a,b}/sublink.? >> $TS_OUTPUT 2>> $TS_ERRLOG
for i in rename_a{a,b}/sublink.?; do
	readlink $i >> $TS_OUTPUT 2>> $TS_ERRLOG
done

rm -rf rename_a{a,b}

echo "== fullpath ==" >> $TS_OUTPUT
touch rename_path1
$TS_CMD_RENAME -v ./rename_path1 ./rename_path2 ./rename_path1 >> $TS_OUTPUT 2>> $TS_ERRLOG

find . -name 'rename_path*' >> $TS_OUTPUT 2>> $TS_ERRLOG
rm -f ./rename_path*

mkdir rename_path_a
touch rename_path_test1

$TS_CMD_RENAME -v rename_path_test1 rename_path_a/test1 rename_path_test1 >> $TS_OUTPUT 2>> $TS_ERRLOG

find . -name '*test1*' >> $TS_OUTPUT 2>> $TS_ERRLOG
rm -f rename_path_test1 rename_path_a/test1

mkdir rename_path_b
touch rename_path_a/test2
$TS_CMD_RENAME -v rename_path_a/test2 rename_path_b/test2 rename_path_a/test2 >> $TS_OUTPUT 2>> $TS_ERRLOG

find rename_path_a rename_path_b >> $TS_OUTPUT 2>> $TS_ERRLOG
rm -f rename_path_a/test2 rename_path_b/test2

rmdir rename_path_a rename_path_b

ln -s some/nonexistent/path rename_link
$TS_CMD_RENAME -s -v t/p _ rename_link >> $TS_OUTPUT 2>> $TS_ERRLOG
$TS_CMD_RENAME -s -v exist / rename_link >> $TS_OUTPUT 2>> $TS_ERRLOG
$TS_CMD_RENAME -s -v e x rename_link >> $TS_OUTPUT 2>> $TS_ERRLOG
readlink rename_link >> $TS_OUTPUT 2>> $TS_ERRLOG
rm rename_link

echo "== empty 'from' ==" >> $TS_OUTPUT

touch rename_test
$TS_CMD_RENAME -v '' _ rename_test >> $TS_OUTPUT 2>> $TS_ERRLOG
rm -f *rename_test

touch rename_test
$TS_CMD_RENAME -v '' _ ./rename_test >> $TS_OUTPUT 2>> $TS_ERRLOG
rm -f *rename_test

touch rename_test
mkdir rename_subdir
$TS_CMD_RENAME -v '' rename_subdir/ rename_test >> $TS_OUTPUT 2>> $TS_ERRLOG
rm -rf rename_subdir

touch rename_test
mkdir rename_subdir
$TS_CMD_RENAME -v '' rename_subdir/ ./rename_test >> $TS_OUTPUT 2>> $TS_ERRLOG
rm -rf rename_subdir

ts_finalize