##// END OF EJS Templates
convert: test for shell injection in git calls (SEC)...
convert: test for shell injection in git calls (SEC) CVE-2016-3069 (5/5) Before recent refactoring we were not escaping calls to git at all which made such injections possible. Let's have a test for that to avoid this problem in the future. Reported by Blake Burkhart.

File last commit:

r24064:c260887c default
r28663:ae279d4a 3.7.3 stable
Show More
test-grep.t
186 lines | 3.9 KiB | text/troff | Tads3Lexer
Martin Geisler
tests: remove redundant mkdir...
r13956 $ hg init t
Nicolas Dumazet
tests: unify test-grep
r11902 $ cd t
$ echo import > port
$ hg add port
$ hg commit -m 0 -u spam -d '0 0'
$ echo export >> port
$ hg commit -m 1 -u eggs -d '1 0'
$ echo export > port
$ echo vaportight >> port
$ echo 'import/export' >> port
$ hg commit -m 2 -u spam -d '2 0'
$ echo 'import/export' >> port
$ hg commit -m 3 -u eggs -d '3 0'
$ head -n 3 port > port1
$ mv port1 port
$ hg commit -m 4 -u spam -d '4 0'
pattern error
$ hg grep '**test**'
grep: invalid match pattern: nothing to repeat
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Nicolas Dumazet
tests: unify test-grep
r11902
simple
Idan Kamara
grep: don't search past the end of the searched string...
r17923 $ hg grep '.*'
port:4:export
port:4:vaportight
port:4:import/export
Nicolas Dumazet
tests: unify test-grep
r11902 $ hg grep port port
port:4:export
port:4:vaportight
port:4:import/export
simple with color
$ hg --config extensions.color= grep --config color.mode=ansi \
> --color=always port port
Idan Kamara
grep: colorize all fields...
r17806 \x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;32m4\x1b[0m\x1b[0;36m:\x1b[0mex\x1b[0;31;1mport\x1b[0m (esc)
\x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;32m4\x1b[0m\x1b[0;36m:\x1b[0mva\x1b[0;31;1mport\x1b[0might (esc)
Takumi IINO
grep: highlight all matched words...
r21011 \x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;32m4\x1b[0m\x1b[0;36m:\x1b[0mim\x1b[0;31;1mport\x1b[0m/ex\x1b[0;31;1mport\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-grep
r11902
all
$ hg grep --traceback --all -nu port port
port:4:4:-:spam:import/export
port:3:4:+:eggs:import/export
port:2:1:-:spam:import
port:2:2:-:spam:export
port:2:1:+:spam:export
port:2:2:+:spam:vaportight
port:2:3:+:spam:import/export
port:1:2:+:eggs:export
port:0:1:+:spam:import
other
Idan Kamara
test-grep: add a test for -l
r17805 $ hg grep -l port port
port:4
Nicolas Dumazet
tests: unify test-grep
r11902 $ hg grep import port
port:4:import/export
$ hg cp port port2
$ hg commit -m 4 -u spam -d '5 0'
follow
Matt Mackall
grep: make multiline mode the default (BC)...
r15765 $ hg grep --traceback -f 'import\n\Z' port2
Nicolas Dumazet
tests: unify test-grep
r11902 port:0:import
Matt Mackall
grep: make multiline mode the default (BC)...
r15765
Nicolas Dumazet
tests: unify test-grep
r11902 $ echo deport >> port2
$ hg commit -m 5 -u eggs -d '6 0'
$ hg grep -f --all -nu port port2
port2:6:4:+:eggs:deport
port:4:4:-:spam:import/export
port:3:4:+:eggs:import/export
port:2:1:-:spam:import
port:2:2:-:spam:export
port:2:1:+:spam:export
port:2:2:+:spam:vaportight
port:2:3:+:spam:import/export
port:1:2:+:eggs:export
port:0:1:+:spam:import
Yuya Nishihara
log: fix --follow null parent not to include revision 0...
r24064 $ hg up -q null
$ hg grep -f port
[1]
Nicolas Dumazet
tests: unify test-grep
r11902 $ cd ..
$ hg init t2
$ cd t2
$ hg grep foobar foo
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Nicolas Dumazet
tests: unify test-grep
r11902 $ hg grep foobar
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Nicolas Dumazet
tests: unify test-grep
r11902 $ echo blue >> color
$ echo black >> color
$ hg add color
$ hg ci -m 0
$ echo orange >> color
$ hg ci -m 1
$ echo black > color
$ hg ci -m 2
$ echo orange >> color
$ echo blue >> color
$ hg ci -m 3
$ hg grep orange
color:3:orange
$ hg grep --all orange
color:3:+:orange
color:2:-:orange
color:1:+:orange
match in last "line" without newline
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c 'fp = open("noeol", "wb"); fp.write("no infinite loop"); fp.close();'
Nicolas Dumazet
tests: unify test-grep
r11902 $ hg ci -Amnoeol
adding noeol
$ hg grep loop
Mads Kiilerich
grep: correct handling of matching lines without line ending (issue3050)...
r15293 noeol:4:no infinite loop
Nicolas Dumazet
tests: unify test-grep
r11902
$ cd ..
Mads Kiilerich
spelling: fixes from spell checker
r21024 Issue685: traceback in grep -r after rename
Martin Geisler
tests: added a short description to issue numbers...
r12399
Nicolas Dumazet
tests: unify test-grep
r11902 Got a traceback when using grep on a single
revision with renamed files.
$ hg init issue685
$ cd issue685
$ echo octarine > color
$ hg ci -Amcolor
adding color
$ hg rename color colour
$ hg ci -Am rename
$ hg grep octarine
colour:1:octarine
color:0:octarine
Used to crash here
$ hg grep -r 1 octarine
colour:1:octarine
$ cd ..
Issue337: test that grep follows parent-child relationships instead
of just using revision numbers.
$ hg init issue337
$ cd issue337
$ echo white > color
$ hg commit -A -m "0 white"
adding color
$ echo red > color
$ hg commit -A -m "1 red"
$ hg update 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo black > color
$ hg commit -A -m "2 black"
created new head
$ hg update --clean 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo blue > color
$ hg commit -A -m "3 blue"
$ hg grep --all red
color:3:-:red
color:1:+:red
Md. O. Shayan
grep: don't print data from binary files for matches (issue2614)
r13920
Mads Kiilerich
tests: cleanup of tests that got lost in their own nested directories...
r16912 $ cd ..
Md. O. Shayan
grep: don't print data from binary files for matches (issue2614)
r13920 $ hg init a
$ cd a
Thomas Arendsen Hein
tests: make tests work if directory contains special characters...
r16350 $ cp "$TESTDIR/binfile.bin" .
Md. O. Shayan
grep: don't print data from binary files for matches (issue2614)
r13920 $ hg add binfile.bin
$ hg ci -m 'add binfile.bin'
$ hg grep "MaCam" --all
binfile.bin:0:+: Binary file matches
Mads Kiilerich
tests: cleanup of tests that got lost in their own nested directories...
r16912
$ cd ..