| # grep in run-make tests was partially replaced with a custom script, CGREP. This tests that CGREP does its job correctly. |
| # See https://github.com/rust-lang/rust/commit/ab788a2ee175c7560f0ca58bbc183ecfd57d2f7a |
| # FIXME(Oneirical): Note that this test will likely become useless after the port to rmake.rs tests (see https://github.com/rust-lang/rust/issues/121876) |
| |
| include ../tools.mk |
| |
| all: |
| echo a | $(CGREP) a |
| ! echo b | $(CGREP) a |
| echo xyz | $(CGREP) x y z |
| ! echo abc | $(CGREP) b c d |
| printf "x\ny\nz" | $(CGREP) x y z |
| |
| echo AbCd | $(CGREP) -i a b C D |
| ! echo AbCd | $(CGREP) a b C D |
| |
| true | $(CGREP) -v nothing |
| ! echo nothing | $(CGREP) -v nothing |
| ! echo xyz | $(CGREP) -v w x y |
| ! echo xyz | $(CGREP) -v x y z |
| echo xyz | $(CGREP) -v a b c |
| |
| ! echo 'foo bar baz' | $(CGREP) 'foo baz' |
| echo 'foo bar baz' | $(CGREP) foo baz |
| echo 'x a `b` c y z' | $(CGREP) 'a `b` c' |
| |
| echo baaac | $(CGREP) -e 'ba*c' |
| echo bc | $(CGREP) -e 'ba*c' |
| ! echo aaac | $(CGREP) -e 'ba*c' |
| |
| echo aaa | $(CGREP) -e 'a+' |
| ! echo bbb | $(CGREP) -e 'a+' |
| |
| echo abc | $(CGREP) -e 'a|e|i|o|u' |
| ! echo fgh | $(CGREP) -e 'a|e|i|o|u' |
| echo abc | $(CGREP) -e '[aeiou]' |
| ! echo fgh | $(CGREP) -e '[aeiou]' |
| ! echo abc | $(CGREP) -e '[^aeiou]{3}' |
| echo fgh | $(CGREP) -e '[^aeiou]{3}' |
| echo ab cd ef gh | $(CGREP) -e '\bcd\b' |
| ! echo abcdefgh | $(CGREP) -e '\bcd\b' |
| echo xyz | $(CGREP) -e '...' |
| ! echo xy | $(CGREP) -e '...' |
| ! echo xyz | $(CGREP) -e '\.\.\.' |
| echo ... | $(CGREP) -e '\.\.\.' |
| |
| echo foo bar baz | $(CGREP) -e 'foo.*baz' |
| ! echo foo bar baz | $(CGREP) -ve 'foo.*baz' |
| ! echo foo bar baz | $(CGREP) -e 'baz.*foo' |
| echo foo bar baz | $(CGREP) -ve 'baz.*foo' |