grep: fix "grep -r PATTRN SYMLINK_TO_DIR"
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
6ff0551157
commit
34cc6c91a2
@ -668,7 +668,7 @@ static int grep_dir(const char *dir)
|
|||||||
int matched = 0;
|
int matched = 0;
|
||||||
recursive_action(dir,
|
recursive_action(dir,
|
||||||
/* recurse=yes */ ACTION_RECURSE |
|
/* recurse=yes */ ACTION_RECURSE |
|
||||||
/* followLinks=no */
|
/* followLinks=command line only */ ACTION_FOLLOWLINKS_L0 |
|
||||||
/* depthFirst=yes */ ACTION_DEPTHFIRST,
|
/* depthFirst=yes */ ACTION_DEPTHFIRST,
|
||||||
/* fileAction= */ file_action_grep,
|
/* fileAction= */ file_action_grep,
|
||||||
/* dirAction= */ NULL,
|
/* dirAction= */ NULL,
|
||||||
|
@ -171,6 +171,26 @@ testing "grep -w word match second word" \
|
|||||||
"bword,word\n""wordb,word\n""bwordb,word\n" \
|
"bword,word\n""wordb,word\n""bwordb,word\n" \
|
||||||
""
|
""
|
||||||
|
|
||||||
|
# -r on symlink to dir should recurse into dir
|
||||||
|
mkdir -p grep.testdir/foo
|
||||||
|
echo bar > grep.testdir/foo/file
|
||||||
|
ln -s foo grep.testdir/symfoo
|
||||||
|
testing "grep -r on symlink to dir" \
|
||||||
|
"grep -r . grep.testdir/symfoo" \
|
||||||
|
"grep.testdir/symfoo/file:bar\n" \
|
||||||
|
"" ""
|
||||||
|
rm -Rf grep.testdir
|
||||||
|
|
||||||
|
# But -r on dir/symlink_to_dir should not recurse into symlink_to_dir
|
||||||
|
mkdir -p grep.testdir/foo
|
||||||
|
echo bar > grep.testdir/foo/file
|
||||||
|
ln -s foo grep.testdir/symfoo
|
||||||
|
testing "grep -r on dir/symlink to dir" \
|
||||||
|
"grep -r . grep.testdir" \
|
||||||
|
"grep.testdir/foo/file:bar\n" \
|
||||||
|
"" ""
|
||||||
|
rm -Rf grep.testdir
|
||||||
|
|
||||||
# testing "test name" "commands" "expected result" "file input" "stdin"
|
# testing "test name" "commands" "expected result" "file input" "stdin"
|
||||||
# file input will be file called "input"
|
# file input will be file called "input"
|
||||||
# test can create a file "actual" instead of writing to stdout
|
# test can create a file "actual" instead of writing to stdout
|
||||||
|
Loading…
Reference in New Issue
Block a user