aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--findutils/grep.c2
-rwxr-xr-xtestsuite/grep.tests14
2 files changed, 15 insertions, 1 deletions
diff --git a/findutils/grep.c b/findutils/grep.c
index b808ad92b..b8ad1bf8f 100644
--- a/findutils/grep.c
+++ b/findutils/grep.c
@@ -716,7 +716,7 @@ int grep_main(int argc UNUSED_PARAM, char **argv)
716 option_mask32 |= OPT_F; 716 option_mask32 |= OPT_F;
717 717
718#if !ENABLE_EXTRA_COMPAT 718#if !ENABLE_EXTRA_COMPAT
719 if (!(option_mask32 & (OPT_o | OPT_w))) 719 if (!(option_mask32 & (OPT_o | OPT_w | OPT_x)))
720 reflags = REG_NOSUB; 720 reflags = REG_NOSUB;
721#endif 721#endif
722 722
diff --git a/testsuite/grep.tests b/testsuite/grep.tests
index 5696fa7e1..64d99a905 100755
--- a/testsuite/grep.tests
+++ b/testsuite/grep.tests
@@ -82,6 +82,20 @@ testing "grep -F handles -i" "grep -F -i foo input ; echo \$?" \
82testing "grep can read regexps from stdin" "grep -f - input ; echo \$?" \ 82testing "grep can read regexps from stdin" "grep -f - input ; echo \$?" \
83 "two\nthree\n0\n" "tw\ntwo\nthree\n" "tw.\nthr\n" 83 "two\nthree\n0\n" "tw\ntwo\nthree\n" "tw.\nthr\n"
84 84
85# -x (whole line match)
86testing "grep -x (full match)" "grep -x foo input ; echo \$?" \
87 "foo\n0\n" "foo\n" ""
88testing "grep -x (partial match 1)" "grep -x foo input ; echo \$?" \
89 "1\n" "foo bar\n" ""
90testing "grep -x (partial match 2)" "grep -x foo input ; echo \$?" \
91 "1\n" "bar foo\n" ""
92testing "grep -x -F (full match)" "grep -x -F foo input ; echo \$?" \
93 "foo\n0\n" "foo\n" ""
94testing "grep -x -F (partial match 1)" "grep -x -F foo input ; echo \$?" \
95 "1\n" "foo bar\n" ""
96testing "grep -x -F (partial match 2)" "grep -x -F foo input ; echo \$?" \
97 "1\n" "bar foo\n" ""
98
85optional FEATURE_GREP_EGREP_ALIAS 99optional FEATURE_GREP_EGREP_ALIAS
86testing "grep -E supports extended regexps" "grep -E fo+" "foo\n" "" \ 100testing "grep -E supports extended regexps" "grep -E fo+" "foo\n" "" \
87 "b\ar\nfoo\nbaz" 101 "b\ar\nfoo\nbaz"