diff options
author | Sami Kerola | 2014-05-25 23:52:24 +0200 |
---|---|---|
committer | Sami Kerola | 2014-07-18 19:34:15 +0200 |
commit | 0f85e0535bd4e6d19fadca182e4d57660b6bb57b (patch) | |
tree | a2f8dd15c1e21316a87a48614c70d70d245b8326 /tests/ts/rename | |
parent | tests: use ts_cd everywhere to change direcrory (diff) | |
download | kernel-qcow2-util-linux-0f85e0535bd4e6d19fadca182e4d57660b6bb57b.tar.gz kernel-qcow2-util-linux-0f85e0535bd4e6d19fadca182e4d57660b6bb57b.tar.xz kernel-qcow2-util-linux-0f85e0535bd4e6d19fadca182e4d57660b6bb57b.zip |
tests: add rename(1) checks
Check basic file moves, symlink relinking, and both file moves and
symlinks when operations are have directory in destination path.
Reviewed-by: Ruediger Meier <sweet_f_a@gmx.de>
Reviewed-by: Karel Zak <kzak@redhat.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Diffstat (limited to 'tests/ts/rename')
-rwxr-xr-x | tests/ts/rename/basic | 41 | ||||
-rwxr-xr-x | tests/ts/rename/subdir | 42 | ||||
-rwxr-xr-x | tests/ts/rename/symlink | 41 |
3 files changed, 124 insertions, 0 deletions
diff --git a/tests/ts/rename/basic b/tests/ts/rename/basic new file mode 100755 index 000000000..cf3629e35 --- /dev/null +++ b/tests/ts/rename/basic @@ -0,0 +1,41 @@ +#!/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="basic check" + +. $TS_TOPDIR/functions.sh +ts_init "$*" + +ts_check_test_command "$TS_CMD_RENAME" +ts_cd "$TS_OUTDIR" + +touch rename_basic.{1..3} +$TS_CMD_RENAME -v basic test rename_basic.? >> $TS_OUTPUT 2>&1 + +for i in rename_basic.?; do + echo "what is $i doing here?" >> $TS_OUTPUT +done +for i in rename_test.{1..3}; do + if [ ! -f $i ]; then + echo "file $i is missing" >> $TS_OUTPUT + else + rm -f $i + fi +done + +ts_finalize diff --git a/tests/ts/rename/subdir b/tests/ts/rename/subdir new file mode 100755 index 000000000..f83b2bf10 --- /dev/null +++ b/tests/ts/rename/subdir @@ -0,0 +1,42 @@ +#!/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>&1 +find rename_a{a,b} >> $TS_OUTPUT 2>&1 + +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>&1 +readlink rename_a{a,b}/sublink.? >> $TS_OUTPUT 2>&1 + +rm -rf rename_a{a,b} + +ts_finalize diff --git a/tests/ts/rename/symlink b/tests/ts/rename/symlink new file mode 100755 index 000000000..67f4392a0 --- /dev/null +++ b/tests/ts/rename/symlink @@ -0,0 +1,41 @@ +#!/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="symlink check" + +. $TS_TOPDIR/functions.sh +ts_init "$*" + +ts_check_test_command "$TS_CMD_RENAME" +ts_cd "$TS_OUTDIR" + +for i in rename_slink.{1..3}; do + ln -s old $i +done + +$TS_CMD_RENAME -s -v old new rename_slink.? >> $TS_OUTPUT 2>&1 + +for i in rename_slink.{1..3}; do + where="$(readlink $i)" + if [ "$where" != "new" ]; then + echo "error: $i points to $where" >> $TS_OUTPUT + fi + rm -f $i +done + +ts_finalize |