tests: unify test-eol-patch
authorMatt Mackall <mpm@selenic.com>
Sun, 26 Sep 2010 13:41:32 -0500
changeset 12420 e9db6bc37659
parent 12419 f6a91fcd189a
child 12421 0ae7cad68842
tests: unify test-eol-patch
tests/test-eol-patch
tests/test-eol-patch.out
tests/test-eol-patch.t
--- a/tests/test-eol-patch	Sun Sep 26 13:41:32 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-#!/bin/sh
-
-cat > $HGRCPATH <<EOF
-[diff]
-git = 1
-EOF
-
-seteol () {
-    if [ $1 = "LF" ]; then
-        EOL='\n'
-    else
-        EOL='\r\n'
-    fi
-}
-
-makerepo () {
-    seteol $1
-    echo
-    echo "# ==== setup $1 repository ===="
-    echo '% hg init'
-    hg init repo
-    cd repo
-
-    cat > .hgeol <<EOF
-[repository]
-native = $1
-
-[patterns]
-unix.txt = LF
-win.txt = CRLF
-**.txt = native
-EOF
-
-    printf "first\r\nsecond\r\nthird\r\n" > win.txt
-    printf "first\nsecond\nthird\n" > unix.txt
-    printf "first${EOL}second${EOL}third${EOL}" > native.txt
-    hg commit --addremove -m 'checkin'
-    cd ..
-}
-
-dotest () {
-    seteol $1
-
-    echo
-    echo "% hg clone repo repo-$1"
-    hg clone --noupdate repo repo-$1
-    cd repo-$1
-
-    cat > .hg/hgrc <<EOF
-[extensions]
-eol =
-
-[eol]
-native = $1
-EOF
-
-    hg update
-    echo '% printrepr.py native.txt'
-    python $TESTDIR/printrepr.py < native.txt
-
-    echo '% printrepr.py unix.txt'
-    python $TESTDIR/printrepr.py < unix.txt
-
-    echo '% printrepr.py win.txt'
-    python $TESTDIR/printrepr.py < win.txt
-
-    printf "first${EOL}third${EOL}" > native.txt
-    printf "first\r\nthird\r\n" > win.txt
-    printf "first\nthird\n" > unix.txt
-
-    echo '% hg diff'
-    hg diff > p
-    python $TESTDIR/printrepr.py < p
-
-    echo '% hg revert'
-    hg revert --all
-
-    echo '% hg import'
-    hg import -m 'patch' p
-
-    echo '% printrepr.py native.txt'
-    python $TESTDIR/printrepr.py < native.txt
-    echo '% printrepr.py unix.txt'
-    python $TESTDIR/printrepr.py < unix.txt
-    echo '% printrepr.py win.txt'
-    python $TESTDIR/printrepr.py < win.txt
-
-    echo '% hg diff -c tip'
-    hg diff -c tip | python $TESTDIR/printrepr.py
-
-    cd ..
-    rm -r repo-$1
-}
-
-makerepo LF
-dotest LF
-dotest CRLF
-rm -r repo
-
-makerepo CRLF
-dotest LF
-dotest CRLF
-rm -r repo
--- a/tests/test-eol-patch.out	Sun Sep 26 13:41:32 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,310 +0,0 @@
-
-# ==== setup LF repository ====
-% hg init
-adding .hgeol
-adding native.txt
-adding unix.txt
-adding win.txt
-
-% hg clone repo repo-LF
-4 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% printrepr.py native.txt
-first
-second
-third
-% printrepr.py unix.txt
-first
-second
-third
-% printrepr.py win.txt
-first\r
-second\r
-third\r
-% hg diff
-diff --git a/native.txt b/native.txt
---- a/native.txt
-+++ b/native.txt
-@@ -1,3 +1,2 @@
- first
--second
- third
-diff --git a/unix.txt b/unix.txt
---- a/unix.txt
-+++ b/unix.txt
-@@ -1,3 +1,2 @@
- first
--second
- third
-diff --git a/win.txt b/win.txt
---- a/win.txt
-+++ b/win.txt
-@@ -1,3 +1,2 @@
- first\r
--second\r
- third\r
-% hg revert
-reverting native.txt
-reverting unix.txt
-reverting win.txt
-% hg import
-applying p
-% printrepr.py native.txt
-first
-third
-% printrepr.py unix.txt
-first
-third
-% printrepr.py win.txt
-first\r
-third\r
-% hg diff -c tip
-diff --git a/native.txt b/native.txt
---- a/native.txt
-+++ b/native.txt
-@@ -1,3 +1,2 @@
- first
--second
- third
-diff --git a/unix.txt b/unix.txt
---- a/unix.txt
-+++ b/unix.txt
-@@ -1,3 +1,2 @@
- first
--second
- third
-diff --git a/win.txt b/win.txt
---- a/win.txt
-+++ b/win.txt
-@@ -1,3 +1,2 @@
- first\r
--second\r
- third\r
-
-% hg clone repo repo-CRLF
-4 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% printrepr.py native.txt
-first\r
-second\r
-third\r
-% printrepr.py unix.txt
-first
-second
-third
-% printrepr.py win.txt
-first\r
-second\r
-third\r
-% hg diff
-diff --git a/native.txt b/native.txt
---- a/native.txt
-+++ b/native.txt
-@@ -1,3 +1,2 @@
- first
--second
- third
-diff --git a/unix.txt b/unix.txt
---- a/unix.txt
-+++ b/unix.txt
-@@ -1,3 +1,2 @@
- first
--second
- third
-diff --git a/win.txt b/win.txt
---- a/win.txt
-+++ b/win.txt
-@@ -1,3 +1,2 @@
- first\r
--second\r
- third\r
-% hg revert
-reverting native.txt
-reverting unix.txt
-reverting win.txt
-% hg import
-applying p
-% printrepr.py native.txt
-first\r
-third\r
-% printrepr.py unix.txt
-first
-third
-% printrepr.py win.txt
-first\r
-third\r
-% hg diff -c tip
-diff --git a/native.txt b/native.txt
---- a/native.txt
-+++ b/native.txt
-@@ -1,3 +1,2 @@
- first
--second
- third
-diff --git a/unix.txt b/unix.txt
---- a/unix.txt
-+++ b/unix.txt
-@@ -1,3 +1,2 @@
- first
--second
- third
-diff --git a/win.txt b/win.txt
---- a/win.txt
-+++ b/win.txt
-@@ -1,3 +1,2 @@
- first\r
--second\r
- third\r
-
-# ==== setup CRLF repository ====
-% hg init
-adding .hgeol
-adding native.txt
-adding unix.txt
-adding win.txt
-
-% hg clone repo repo-LF
-4 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% printrepr.py native.txt
-first
-second
-third
-% printrepr.py unix.txt
-first
-second
-third
-% printrepr.py win.txt
-first\r
-second\r
-third\r
-% hg diff
-diff --git a/native.txt b/native.txt
---- a/native.txt
-+++ b/native.txt
-@@ -1,3 +1,2 @@
- first\r
--second\r
- third\r
-diff --git a/unix.txt b/unix.txt
---- a/unix.txt
-+++ b/unix.txt
-@@ -1,3 +1,2 @@
- first
--second
- third
-diff --git a/win.txt b/win.txt
---- a/win.txt
-+++ b/win.txt
-@@ -1,3 +1,2 @@
- first\r
--second\r
- third\r
-% hg revert
-reverting native.txt
-reverting unix.txt
-reverting win.txt
-% hg import
-applying p
-% printrepr.py native.txt
-first
-third
-% printrepr.py unix.txt
-first
-third
-% printrepr.py win.txt
-first\r
-third\r
-% hg diff -c tip
-diff --git a/native.txt b/native.txt
---- a/native.txt
-+++ b/native.txt
-@@ -1,3 +1,2 @@
- first\r
--second\r
- third\r
-diff --git a/unix.txt b/unix.txt
---- a/unix.txt
-+++ b/unix.txt
-@@ -1,3 +1,2 @@
- first
--second
- third
-diff --git a/win.txt b/win.txt
---- a/win.txt
-+++ b/win.txt
-@@ -1,3 +1,2 @@
- first\r
--second\r
- third\r
-
-% hg clone repo repo-CRLF
-4 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% printrepr.py native.txt
-first\r
-second\r
-third\r
-% printrepr.py unix.txt
-first
-second
-third
-% printrepr.py win.txt
-first\r
-second\r
-third\r
-% hg diff
-diff --git a/native.txt b/native.txt
---- a/native.txt
-+++ b/native.txt
-@@ -1,3 +1,2 @@
- first\r
--second\r
- third\r
-diff --git a/unix.txt b/unix.txt
---- a/unix.txt
-+++ b/unix.txt
-@@ -1,3 +1,2 @@
- first
--second
- third
-diff --git a/win.txt b/win.txt
---- a/win.txt
-+++ b/win.txt
-@@ -1,3 +1,2 @@
- first\r
--second\r
- third\r
-% hg revert
-reverting native.txt
-reverting unix.txt
-reverting win.txt
-% hg import
-applying p
-% printrepr.py native.txt
-first\r
-third\r
-% printrepr.py unix.txt
-first
-third
-% printrepr.py win.txt
-first\r
-third\r
-% hg diff -c tip
-diff --git a/native.txt b/native.txt
---- a/native.txt
-+++ b/native.txt
-@@ -1,3 +1,2 @@
- first\r
--second\r
- third\r
-diff --git a/unix.txt b/unix.txt
---- a/unix.txt
-+++ b/unix.txt
-@@ -1,3 +1,2 @@
- first
--second
- third
-diff --git a/win.txt b/win.txt
---- a/win.txt
-+++ b/win.txt
-@@ -1,3 +1,2 @@
- first\r
--second\r
- third\r
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-eol-patch.t	Sun Sep 26 13:41:32 2010 -0500
@@ -0,0 +1,400 @@
+Test EOL patching
+
+  $ cat > $HGRCPATH <<EOF
+  > [diff]
+  > git = 1
+  > EOF
+
+Set up helpers
+
+  $ seteol () {
+  >     if [ $1 = "LF" ]; then
+  >         EOL='\n'
+  >     else
+  >         EOL='\r\n'
+  >     fi
+  > }
+
+  $ makerepo () {
+  >     seteol $1
+  >     echo
+  >     echo "# ==== setup $1 repository ===="
+  >     echo '% hg init'
+  >     hg init repo
+  >     cd repo
+  >     cat > .hgeol <<EOF
+  > [repository]
+  > native = $1
+  > [patterns]
+  > unix.txt = LF
+  > win.txt = CRLF
+  > **.txt = native
+  > EOF
+  >     printf "first\r\nsecond\r\nthird\r\n" > win.txt
+  >     printf "first\nsecond\nthird\n" > unix.txt
+  >     printf "first${EOL}second${EOL}third${EOL}" > native.txt
+  >     hg commit --addremove -m 'checkin'
+  >     cd ..
+  > }
+
+  $ dotest () {
+  >     seteol $1
+  >     echo
+  >     echo "% hg clone repo repo-$1"
+  >     hg clone --noupdate repo repo-$1
+  >     cd repo-$1
+  >     cat > .hg/hgrc <<EOF
+  > [extensions]
+  > eol =
+  > [eol]
+  > native = $1
+  > EOF
+  >     hg update
+  >     echo '% printrepr.py native.txt'
+  >     python $TESTDIR/printrepr.py < native.txt
+  >     echo '% printrepr.py unix.txt'
+  >     python $TESTDIR/printrepr.py < unix.txt
+  >     echo '% printrepr.py win.txt'
+  >     python $TESTDIR/printrepr.py < win.txt
+  >     printf "first${EOL}third${EOL}" > native.txt
+  >     printf "first\r\nthird\r\n" > win.txt
+  >     printf "first\nthird\n" > unix.txt
+  >     echo '% hg diff'
+  >     hg diff > p
+  >     python $TESTDIR/printrepr.py < p
+  >     echo '% hg revert'
+  >     hg revert --all
+  >     echo '% hg import'
+  >     hg import -m 'patch' p
+  >     echo '% printrepr.py native.txt'
+  >     python $TESTDIR/printrepr.py < native.txt
+  >     echo '% printrepr.py unix.txt'
+  >     python $TESTDIR/printrepr.py < unix.txt
+  >     echo '% printrepr.py win.txt'
+  >     python $TESTDIR/printrepr.py < win.txt
+  >     echo '% hg diff -c tip'
+  >     hg diff -c tip | python $TESTDIR/printrepr.py
+  >     cd ..
+  >     rm -r repo-$1
+  > }
+
+Run tests
+
+  $ makerepo LF
+  
+  # ==== setup LF repository ====
+  % hg init
+  adding .hgeol
+  adding native.txt
+  adding unix.txt
+  adding win.txt
+  $ dotest LF
+  
+  % hg clone repo repo-LF
+  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  % printrepr.py native.txt
+  first
+  second
+  third
+  % printrepr.py unix.txt
+  first
+  second
+  third
+  % printrepr.py win.txt
+  first\r
+  second\r
+  third\r
+  % hg diff
+  diff --git a/native.txt b/native.txt
+  --- a/native.txt
+  +++ b/native.txt
+  @@ -1,3 +1,2 @@
+   first
+  -second
+   third
+  diff --git a/unix.txt b/unix.txt
+  --- a/unix.txt
+  +++ b/unix.txt
+  @@ -1,3 +1,2 @@
+   first
+  -second
+   third
+  diff --git a/win.txt b/win.txt
+  --- a/win.txt
+  +++ b/win.txt
+  @@ -1,3 +1,2 @@
+   first\r
+  -second\r
+   third\r
+  % hg revert
+  reverting native.txt
+  reverting unix.txt
+  reverting win.txt
+  % hg import
+  applying p
+  % printrepr.py native.txt
+  first
+  third
+  % printrepr.py unix.txt
+  first
+  third
+  % printrepr.py win.txt
+  first\r
+  third\r
+  % hg diff -c tip
+  diff --git a/native.txt b/native.txt
+  --- a/native.txt
+  +++ b/native.txt
+  @@ -1,3 +1,2 @@
+   first
+  -second
+   third
+  diff --git a/unix.txt b/unix.txt
+  --- a/unix.txt
+  +++ b/unix.txt
+  @@ -1,3 +1,2 @@
+   first
+  -second
+   third
+  diff --git a/win.txt b/win.txt
+  --- a/win.txt
+  +++ b/win.txt
+  @@ -1,3 +1,2 @@
+   first\r
+  -second\r
+   third\r
+  $ dotest CRLF
+  
+  % hg clone repo repo-CRLF
+  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  % printrepr.py native.txt
+  first\r
+  second\r
+  third\r
+  % printrepr.py unix.txt
+  first
+  second
+  third
+  % printrepr.py win.txt
+  first\r
+  second\r
+  third\r
+  % hg diff
+  diff --git a/native.txt b/native.txt
+  --- a/native.txt
+  +++ b/native.txt
+  @@ -1,3 +1,2 @@
+   first
+  -second
+   third
+  diff --git a/unix.txt b/unix.txt
+  --- a/unix.txt
+  +++ b/unix.txt
+  @@ -1,3 +1,2 @@
+   first
+  -second
+   third
+  diff --git a/win.txt b/win.txt
+  --- a/win.txt
+  +++ b/win.txt
+  @@ -1,3 +1,2 @@
+   first\r
+  -second\r
+   third\r
+  % hg revert
+  reverting native.txt
+  reverting unix.txt
+  reverting win.txt
+  % hg import
+  applying p
+  % printrepr.py native.txt
+  first\r
+  third\r
+  % printrepr.py unix.txt
+  first
+  third
+  % printrepr.py win.txt
+  first\r
+  third\r
+  % hg diff -c tip
+  diff --git a/native.txt b/native.txt
+  --- a/native.txt
+  +++ b/native.txt
+  @@ -1,3 +1,2 @@
+   first
+  -second
+   third
+  diff --git a/unix.txt b/unix.txt
+  --- a/unix.txt
+  +++ b/unix.txt
+  @@ -1,3 +1,2 @@
+   first
+  -second
+   third
+  diff --git a/win.txt b/win.txt
+  --- a/win.txt
+  +++ b/win.txt
+  @@ -1,3 +1,2 @@
+   first\r
+  -second\r
+   third\r
+  $ rm -r repo
+  $ makerepo CRLF
+  
+  # ==== setup CRLF repository ====
+  % hg init
+  adding .hgeol
+  adding native.txt
+  adding unix.txt
+  adding win.txt
+  $ dotest LF
+  
+  % hg clone repo repo-LF
+  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  % printrepr.py native.txt
+  first
+  second
+  third
+  % printrepr.py unix.txt
+  first
+  second
+  third
+  % printrepr.py win.txt
+  first\r
+  second\r
+  third\r
+  % hg diff
+  diff --git a/native.txt b/native.txt
+  --- a/native.txt
+  +++ b/native.txt
+  @@ -1,3 +1,2 @@
+   first\r
+  -second\r
+   third\r
+  diff --git a/unix.txt b/unix.txt
+  --- a/unix.txt
+  +++ b/unix.txt
+  @@ -1,3 +1,2 @@
+   first
+  -second
+   third
+  diff --git a/win.txt b/win.txt
+  --- a/win.txt
+  +++ b/win.txt
+  @@ -1,3 +1,2 @@
+   first\r
+  -second\r
+   third\r
+  % hg revert
+  reverting native.txt
+  reverting unix.txt
+  reverting win.txt
+  % hg import
+  applying p
+  % printrepr.py native.txt
+  first
+  third
+  % printrepr.py unix.txt
+  first
+  third
+  % printrepr.py win.txt
+  first\r
+  third\r
+  % hg diff -c tip
+  diff --git a/native.txt b/native.txt
+  --- a/native.txt
+  +++ b/native.txt
+  @@ -1,3 +1,2 @@
+   first\r
+  -second\r
+   third\r
+  diff --git a/unix.txt b/unix.txt
+  --- a/unix.txt
+  +++ b/unix.txt
+  @@ -1,3 +1,2 @@
+   first
+  -second
+   third
+  diff --git a/win.txt b/win.txt
+  --- a/win.txt
+  +++ b/win.txt
+  @@ -1,3 +1,2 @@
+   first\r
+  -second\r
+   third\r
+  $ dotest CRLF
+  
+  % hg clone repo repo-CRLF
+  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  % printrepr.py native.txt
+  first\r
+  second\r
+  third\r
+  % printrepr.py unix.txt
+  first
+  second
+  third
+  % printrepr.py win.txt
+  first\r
+  second\r
+  third\r
+  % hg diff
+  diff --git a/native.txt b/native.txt
+  --- a/native.txt
+  +++ b/native.txt
+  @@ -1,3 +1,2 @@
+   first\r
+  -second\r
+   third\r
+  diff --git a/unix.txt b/unix.txt
+  --- a/unix.txt
+  +++ b/unix.txt
+  @@ -1,3 +1,2 @@
+   first
+  -second
+   third
+  diff --git a/win.txt b/win.txt
+  --- a/win.txt
+  +++ b/win.txt
+  @@ -1,3 +1,2 @@
+   first\r
+  -second\r
+   third\r
+  % hg revert
+  reverting native.txt
+  reverting unix.txt
+  reverting win.txt
+  % hg import
+  applying p
+  % printrepr.py native.txt
+  first\r
+  third\r
+  % printrepr.py unix.txt
+  first
+  third
+  % printrepr.py win.txt
+  first\r
+  third\r
+  % hg diff -c tip
+  diff --git a/native.txt b/native.txt
+  --- a/native.txt
+  +++ b/native.txt
+  @@ -1,3 +1,2 @@
+   first\r
+  -second\r
+   third\r
+  diff --git a/unix.txt b/unix.txt
+  --- a/unix.txt
+  +++ b/unix.txt
+  @@ -1,3 +1,2 @@
+   first
+  -second
+   third
+  diff --git a/win.txt b/win.txt
+  --- a/win.txt
+  +++ b/win.txt
+  @@ -1,3 +1,2 @@
+   first\r
+  -second\r
+   third\r
+  $ rm -r repo