tests: unify test-grep
authorNicolas Dumazet <nicdumz.commits@gmail.com>
Mon, 16 Aug 2010 02:03:29 +0900
changeset 11902 3c9a5ed9b1e2
parent 11901 a80577bfea29
child 11903 a4cc9e6f41c3
child 11906 1219d019339d
tests: unify test-grep
tests/test-grep
tests/test-grep.out
tests/test-grep.t
--- a/tests/test-grep	Sun Aug 15 23:38:00 2010 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-#!/bin/sh
-
-mkdir t
-cd t
-hg init
-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'
-echo % pattern error
-hg grep '**test**'
-echo % simple
-hg grep port port
-echo % simple with color
-hg --config extensions.color= grep --config color.mode=ansi \
-    --color=always port port
-echo % all
-hg grep --traceback --all -nu port port
-echo % other
-hg grep import port
-
-hg cp port port2
-hg commit -m 4 -u spam -d '5 0'
-echo % follow
-hg grep --traceback -f 'import$' port2
-echo deport >> port2
-hg commit -m 5 -u eggs -d '6 0'
-hg grep -f --all -nu port port2
-
-cd ..
-hg init t2
-cd t2
-hg grep foobar foo
-hg grep foobar
-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
-hg grep --all orange
-
-echo % match in last "line" without newline
-python -c 'fp = open("noeol", "wb"); fp.write("no infinite loop"); fp.close();'
-hg ci -Amnoeol
-echo % last character omitted in output to avoid infinite loop
-hg grep loop
-
-# Got a traceback when using grep on a single
-# revision with renamed files.
-cd ..
-echo % issue 685
-hg init issue685
-cd issue685
-echo octarine > color
-hg ci -Amcolor
-hg rename color colour
-hg ci -Am rename
-hg grep octarine
-# Used to crash here
-hg grep -r 1 octarine
-
-# Issue337: test that grep follows parent-child relationships instead
-# of just using revision numbers.
-cd ..
-echo % issue 337
-hg init issue337
-cd issue337
-
-echo white > color
-hg commit -A -m "0 white"
-
-echo red > color
-hg commit -A -m "1 red"
-
-hg update 0
-echo black > color
-hg commit -A -m "2 black"
-
-hg update --clean 1
-echo blue > color
-hg commit -A -m "3 blue"
-
-hg grep --all red
--- a/tests/test-grep.out	Sun Aug 15 23:38:00 2010 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-% pattern error
-grep: invalid match pattern: nothing to repeat
-% simple
-port:4:export
-port:4:vaportight
-port:4:import/export
-% simple with color
-port:4:export
-port:4:vaportight
-port:4:import/export
-% all
-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
-port:4:import/export
-% follow
-port:0:import
-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
-color:3:orange
-color:3:+:orange
-color:2:-:orange
-color:1:+:orange
-% match in last line without newline
-adding noeol
-% last character omitted in output to avoid infinite loop
-noeol:4:no infinite loo
-% issue 685
-adding color
-colour:1:octarine
-color:0:octarine
-colour:1:octarine
-% issue 337
-adding color
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-created new head
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-color:3:-:red
-color:1:+:red
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-grep.t	Mon Aug 16 02:03:29 2010 +0900
@@ -0,0 +1,164 @@
+  $ mkdir t
+  $ cd t
+  $ hg init
+  $ 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
+
+simple
+
+  $ 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
+  port:4:export
+  port:4:vaportight
+  port:4:import/export
+
+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
+
+  $ hg grep import port
+  port:4:import/export
+
+  $ hg cp port port2
+  $ hg commit -m 4 -u spam -d '5 0'
+
+follow
+
+  $ hg grep --traceback -f 'import$' port2
+  port:0:import
+  $ 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
+
+  $ cd ..
+  $ hg init t2
+  $ cd t2
+  $ hg grep foobar foo
+  $ hg grep foobar
+  $ 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
+
+  $ python -c 'fp = open("noeol", "wb"); fp.write("no infinite loop"); fp.close();'
+  $ hg ci -Amnoeol
+  adding noeol
+
+last character omitted in output to avoid infinite loop
+
+  $ hg grep loop
+  noeol:4:no infinite loo
+
+
+  $ cd ..
+
+Got a traceback when using grep on a single
+revision with renamed files.
+issue 685
+
+  $ 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