changeset 11808:3f6cf4cb3dca

tests: unify test-qimport-eol
author Nicolas Dumazet <nicdumz.commits@gmail.com>
date Thu, 12 Aug 2010 22:57:06 +0900
parents 887e9f487b7a
children 97b391bb6379
files tests/test-import-eol tests/test-import-eol.out tests/test-import-eol.t
diffstat 3 files changed, 121 insertions(+), 112 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test-import-eol	Thu Aug 12 22:54:41 2010 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-#!/bin/sh
-
-cat > makepatch.py <<EOF
-f = file('eol.diff', 'wb')
-w = f.write
-w('test message\n')
-w('diff --git a/a b/a\n')
-w('--- a/a\n')
-w('+++ b/a\n')
-w('@@ -1,5 +1,5 @@\n')
-w(' a\n')
-w('-bbb\r\n')
-w('+yyyy\r\n')
-w(' cc\r\n')
-w(' \n')
-w(' d\n')
-w('-e\n')
-w('\ No newline at end of file\n')
-w('+z\r\n')
-w('\ No newline at end of file\r\n')
-EOF
-
-hg init repo
-cd repo
-echo '\.diff' > .hgignore
-
-# Test different --eol values
-python -c 'file("a", "wb").write("a\nbbb\ncc\n\nd\ne")'
-hg ci -Am adda
-python ../makepatch.py
-
-echo % invalid eol
-hg --config patch.eol='LFCR' import eol.diff
-hg revert -a
-
-echo % force LF
-hg --traceback --config patch.eol='LF' import eol.diff
-python -c 'print repr(file("a","rb").read())'
-hg st
-
-echo % force CRLF
-hg up -C 0
-hg --traceback --config patch.eol='CRLF' import eol.diff
-python -c 'print repr(file("a","rb").read())'
-hg st
-
-echo % auto EOL on LF file
-hg up -C 0
-hg --traceback --config patch.eol='auto' import eol.diff
-python -c 'print repr(file("a","rb").read())'
-hg st
-
-echo % auto EOL on CRLF file
-python -c 'file("a", "wb").write("a\r\nbbb\r\ncc\r\n\r\nd\r\ne")'
-hg commit -m 'switch EOLs in a'
-hg --traceback --config patch.eol='auto' import eol.diff
-python -c 'print repr(file("a","rb").read())'
-hg st
-
-echo % auto EOL on new file or source without any EOL
-python -c 'file("noeol", "wb").write("noeol")'
-hg add noeol
-hg commit -m 'add noeol'
-python -c 'file("noeol", "wb").write("noeol\r\nnoeol\n")'
-python -c 'file("neweol", "wb").write("neweol\nneweol\r\n")'
-hg add neweol
-hg diff --git > noeol.diff
-hg revert --no-backup noeol neweol
-rm neweol
-hg --traceback --config patch.eol='auto' import -m noeol noeol.diff
-python -c 'print repr(file("noeol","rb").read())'
-python -c 'print repr(file("neweol","rb").read())'
-hg st
-
-# Test --eol and binary patches
-python -c 'file("b", "wb").write("a\x00\nb\r\nd")'
-hg ci -Am addb
-python -c 'file("b", "wb").write("a\x00\nc\r\nd")'
-hg diff --git > bin.diff
-hg revert --no-backup b
-echo % binary patch with --eol
-hg import --config patch.eol='CRLF' -m changeb bin.diff
-python -c 'print repr(file("b","rb").read())'
-hg st
-cd ..
--- a/tests/test-import-eol.out	Thu Aug 12 22:54:41 2010 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-adding .hgignore
-adding a
-% invalid eol
-applying eol.diff
-abort: Unsupported line endings type: LFCR
-% force LF
-applying eol.diff
-'a\nyyyy\ncc\n\nd\ne'
-% force CRLF
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-applying eol.diff
-'a\r\nyyyy\r\ncc\r\n\r\nd\r\ne'
-% auto EOL on LF file
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-applying eol.diff
-'a\nyyyy\ncc\n\nd\ne'
-% auto EOL on CRLF file
-applying eol.diff
-'a\r\nyyyy\r\ncc\r\n\r\nd\r\ne'
-% auto EOL on new file or source without any EOL
-applying noeol.diff
-'noeol\r\nnoeol\n'
-'neweol\nneweol\r\n'
-adding b
-% binary patch with --eol
-applying bin.diff
-'a\x00\nc\r\nd'
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-import-eol.t	Thu Aug 12 22:57:06 2010 +0900
@@ -0,0 +1,121 @@
+  $ cat > makepatch.py <<EOF
+  > f = file('eol.diff', 'wb')
+  > w = f.write
+  > w('test message\n')
+  > w('diff --git a/a b/a\n')
+  > w('--- a/a\n')
+  > w('+++ b/a\n')
+  > w('@@ -1,5 +1,5 @@\n')
+  > w(' a\n')
+  > w('-bbb\r\n')
+  > w('+yyyy\r\n')
+  > w(' cc\r\n')
+  > w(' \n')
+  > w(' d\n')
+  > w('-e\n')
+  > w('\ No newline at end of file\n')
+  > w('+z\r\n')
+  > w('\ No newline at end of file\r\n')
+  > EOF
+
+  $ hg init repo
+  $ cd repo
+  $ echo '\.diff' > .hgignore
+
+
+Test different --eol values
+
+  $ python -c 'file("a", "wb").write("a\nbbb\ncc\n\nd\ne")'
+  $ hg ci -Am adda
+  adding .hgignore
+  adding a
+  $ python ../makepatch.py
+
+
+invalid eol
+
+  $ hg --config patch.eol='LFCR' import eol.diff
+  applying eol.diff
+  abort: Unsupported line endings type: LFCR
+  $ hg revert -a
+
+
+force LF
+
+  $ hg --traceback --config patch.eol='LF' import eol.diff
+  applying eol.diff
+  $ python -c 'print repr(file("a","rb").read())'
+  'a\nyyyy\ncc\n\nd\ne'
+  $ hg st
+
+
+force CRLF
+
+  $ hg up -C 0
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg --traceback --config patch.eol='CRLF' import eol.diff
+  applying eol.diff
+  $ python -c 'print repr(file("a","rb").read())'
+  'a\r\nyyyy\r\ncc\r\n\r\nd\r\ne'
+  $ hg st
+
+
+auto EOL on LF file
+
+  $ hg up -C 0
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg --traceback --config patch.eol='auto' import eol.diff
+  applying eol.diff
+  $ python -c 'print repr(file("a","rb").read())'
+  'a\nyyyy\ncc\n\nd\ne'
+  $ hg st
+
+
+auto EOL on CRLF file
+
+  $ python -c 'file("a", "wb").write("a\r\nbbb\r\ncc\r\n\r\nd\r\ne")'
+  $ hg commit -m 'switch EOLs in a'
+  $ hg --traceback --config patch.eol='auto' import eol.diff
+  applying eol.diff
+  $ python -c 'print repr(file("a","rb").read())'
+  'a\r\nyyyy\r\ncc\r\n\r\nd\r\ne'
+  $ hg st
+
+
+auto EOL on new file or source without any EOL
+
+  $ python -c 'file("noeol", "wb").write("noeol")'
+  $ hg add noeol
+  $ hg commit -m 'add noeol'
+  $ python -c 'file("noeol", "wb").write("noeol\r\nnoeol\n")'
+  $ python -c 'file("neweol", "wb").write("neweol\nneweol\r\n")'
+  $ hg add neweol
+  $ hg diff --git > noeol.diff
+  $ hg revert --no-backup noeol neweol
+  $ rm neweol
+  $ hg --traceback --config patch.eol='auto' import -m noeol noeol.diff
+  applying noeol.diff
+  $ python -c 'print repr(file("noeol","rb").read())'
+  'noeol\r\nnoeol\n'
+  $ python -c 'print repr(file("neweol","rb").read())'
+  'neweol\nneweol\r\n'
+  $ hg st
+
+
+Test --eol and binary patches
+
+  $ python -c 'file("b", "wb").write("a\x00\nb\r\nd")'
+  $ hg ci -Am addb
+  adding b
+  $ python -c 'file("b", "wb").write("a\x00\nc\r\nd")'
+  $ hg diff --git > bin.diff
+  $ hg revert --no-backup b
+
+binary patch with --eol
+
+  $ hg import --config patch.eol='CRLF' -m changeb bin.diff
+  applying bin.diff
+  $ python -c 'print repr(file("b","rb").read())'
+  'a\x00\nc\r\nd'
+  $ hg st
+  $ cd ..