51 lines
1.6 KiB
Makefile
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'
|