rust/tests/run-make/cat-and-grep-sanity-check/Makefile
2024-05-09 13:29:46 -04:00

51 lines
1.6 KiB
Makefile

# 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'