From: Mauricio Faria de Oliveira Date: Tue, 14 Jul 2020 18:49:25 +0000 (-0300) Subject: rename: tests: add more symlink checks X-Git-Tag: v2.36~30 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ff84ba8b03e9381bc79bac7098cc4051a31587ad;p=thirdparty%2Futil-linux.git rename: tests: add more symlink checks Add a few checks to the symlink test, including for the fix in commit 477239ce0d60 ("rename: fix regression for symlink with non-existing target"). Tested with './tests/run.sh rename/symlink' before/after that commit with FAILED/OK results (and '--show-diff') as expected: After: rename: symlink check ... OK Before: rename: symlink check ... FAILED (rename/symlink) With --show-diff: diff-{{{ --- /home/mfo/git/util-linux/tests/expected/rename/symlink 2020-07-14 15:21:06.412792160 -0300 +++ /home/mfo/git/util-linux/tests/output/rename/symlink 2020-07-14 15:45:10.980927233 -0300 @@ -3,5 +3,3 @@ rename_slink.3: `old' -> `new' `rename_slink.1' -> `rename_symlink.1' target -`rename_slink.2' -> `rename_symlink.2' -target }}}-diff diff-{{{ --- /home/mfo/git/util-linux/tests/expected/rename/symlink.err 2020-07-14 15:37:42.466207786 -0300 +++ /home/mfo/git/util-linux/tests/output/rename/symlink.err 2020-07-14 15:45:10.984927251 -0300 @@ -1 +1,2 @@ +rename: rename_slink.2: not accessible: No such file or directory rename: rename_slink.3: No such file or directory }}}-diff Signed-off-by: Mauricio Faria de Oliveira --- diff --git a/tests/expected/rename/symlink b/tests/expected/rename/symlink index 38e687f57b..880215f160 100644 --- a/tests/expected/rename/symlink +++ b/tests/expected/rename/symlink @@ -1,3 +1,7 @@ rename_slink.1: `old' -> `new' rename_slink.2: `old' -> `new' rename_slink.3: `old' -> `new' +`rename_slink.1' -> `rename_symlink.1' +target +`rename_slink.2' -> `rename_symlink.2' +target diff --git a/tests/expected/rename/symlink.err b/tests/expected/rename/symlink.err new file mode 100644 index 0000000000..956b1193fd --- /dev/null +++ b/tests/expected/rename/symlink.err @@ -0,0 +1 @@ +rename: rename_slink.3: No such file or directory diff --git a/tests/ts/rename/symlink b/tests/ts/rename/symlink index 641dc8a5c1..91a0539687 100755 --- a/tests/ts/rename/symlink +++ b/tests/ts/rename/symlink @@ -38,4 +38,20 @@ for i in rename_slink.{1..3}; do rm -f $i done +touch target +ln -s target rename_slink.1 +$TS_CMD_RENAME -v slink symlink rename_slink.1 >> $TS_OUTPUT 2>> $TS_ERRLOG +readlink rename_symlink.1 >> $TS_OUTPUT 2>> $TS_ERRLOG +rm -f rename_slink.1 rename_symlink.1 + +rm target +ln -s target rename_slink.2 +$TS_CMD_RENAME -v slink symlink rename_slink.2 >> $TS_OUTPUT 2>> $TS_ERRLOG +readlink rename_symlink.2 >> $TS_OUTPUT 2>> $TS_ERRLOG +rm -f rename_slink.2 rename_symlink.2 + +$TS_CMD_RENAME -v slink symlink rename_slink.3 >> $TS_OUTPUT 2>> $TS_ERRLOG +# The error may differ on Mac OS X due to faccessat()/lstat(); normalize it. +sed -i -e 's/\(rename_slink.3\): not accessible/\1/' -e 's/stat of \(rename_slink.3\) failed/\1/' $TS_ERRLOG + ts_finalize