# HG changeset patch # User Matt Mackall # Date 2010-09-26 18:41:32 # Node ID e9db6bc3765966cfa2ebc2cbd00186a4b040d427 # Parent f6a91fcd189ad180832d733f76d605ea0c7a1b90 tests: unify test-eol-patch diff --git a/tests/test-eol-patch.out b/tests/test-eol-patch.out deleted file mode 100644 --- a/tests/test-eol-patch.out +++ /dev/null @@ -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 diff --git a/tests/test-eol-patch b/tests/test-eol-patch.t old mode 100755 new mode 100644 rename from tests/test-eol-patch rename to tests/test-eol-patch.t --- a/tests/test-eol-patch +++ b/tests/test-eol-patch.t @@ -1,103 +1,400 @@ -#!/bin/sh +Test EOL patching + + $ cat > $HGRCPATH < [diff] + > git = 1 + > EOF -cat > $HGRCPATH < if [ $1 = "LF" ]; then + > EOL='\n' + > else + > EOL='\r\n' + > fi + > } -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 + $ makerepo () { + > seteol $1 + > echo + > echo "# ==== setup $1 repository ====" + > echo '% hg init' + > hg init repo + > cd repo + > cat > .hgeol < [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 .. + > } - cat > .hgeol < seteol $1 + > echo + > echo "% hg clone repo repo-$1" + > hg clone --noupdate repo repo-$1 + > cd repo-$1 + > cat > .hg/hgrc < [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 + > } - 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 < 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 + $ 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