From f97f4e72e9ead6dcd0f747d5c780c0878b873e7f Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Wed, 28 Aug 2019 14:37:50 -0700 Subject: Fix find(1) after c26870dab346. Unlike ls, find does treat ENOENT specially. Add an extra test (and fix the behavior) for the case of ENOENT for a path provided on the command line --- unlike other ENOENT cases (typically dangling symlinks), ENOENT for a command line argument should report an error. Also remove obsolete `|sed` from the symlink loop test. --- tests/find.test | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'tests/find.test') diff --git a/tests/find.test b/tests/find.test index fea6a3fc..b3e2c4fa 100755 --- a/tests/find.test +++ b/tests/find.test @@ -102,18 +102,24 @@ testing "-printf" "find dir -name file -printf '%f %p %P %s'" \ "file dir/file file 0" "" "" testing "-printf .N" "find dir -name file -printf %.2f" "fi" "" "" +# No error message for a dangling link. ln -s does-not-exist dir/dangler testing "-L dangling symlink silent" \ "LANG=C find -L dir -name file 2>&1" "dir/file\n" "" "" rm -f dir/dangler +# An error for a symlink loop. ln -s looper dir/looper testing "-L symlink loop noisy" \ - "LANG=C find -L dir -name file 2>err | sed s/\'//g ; grep -q dir/looper err || echo missing error" \ + "LANG=C find -L dir -name file 2>err ; grep -q dir/looper err || echo missing error" \ "dir/file\n" "" "" rm -f dir/looper err testing "-false" "find dir -false" "" "" "" testing "-true" "find dir/file -true" "dir/file\n" "" "" +testing "missing root error" \ + "LANG=C find -L dir/missing-root 2>err ; grep -q dir/missing-root err || echo missing error" \ + "" "" "" + rm -rf dir -- cgit v1.2.3