diff --git a/tests/test-mq-eol.out b/tests/test-mq-eol.out deleted file mode 100644 --- a/tests/test-mq-eol.out +++ /dev/null @@ -1,68 +0,0 @@ -adding .hgignore -adding a -adding eol.diff to series file -% should fail in strict mode -applying eol.diff -patching file a -Hunk #1 FAILED at 0 -1 out of 1 hunks FAILED -- saving rejects to file a.rej -patch failed, unable to continue (try -v) -patch failed, rejects left in working dir -errors during apply, please fix and refresh eol.diff -popping eol.diff -patch queue now empty -% invalid eol -applying eol.diff -patch failed, unable to continue (try -v) -patch failed, rejects left in working dir -errors during apply, please fix and refresh eol.diff -popping eol.diff -patch queue now empty -% force LF -applying eol.diff -now at: eol.diff -test message - -diff -r 0d0bf99a8b7a a ---- a/a -+++ b/a -@@ -1,5 +1,5 @@ --a --b --c --d --e -\ No newline at end of file -+a -+y -+c -+d -+z -\ No newline at end of file -a -y -c -d -z -popping eol.diff -patch queue now empty -% push again forcing LF and compare revisions -applying eol.diff -now at: eol.diff -a -y -c -d -z -popping eol.diff -patch queue now empty -% push again without LF and compare revisions -applying eol.diff -now at: eol.diff -a -y -c -d -z -popping eol.diff -patch queue now empty diff --git a/tests/test-mq-eol b/tests/test-mq-eol.t old mode 100755 new mode 100644 rename from tests/test-mq-eol rename to tests/test-mq-eol.t --- a/tests/test-mq-eol +++ b/tests/test-mq-eol.t @@ -1,66 +1,141 @@ -#!/bin/sh + +Test interactions between mq and patch.eol + -# Test interactions between mq and patch.eol + $ echo "[extensions]" >> $HGRCPATH + $ echo "mq=" >> $HGRCPATH + $ echo "[diff]" >> $HGRCPATH + $ echo "nodates=1" >> $HGRCPATH -echo "[extensions]" >> $HGRCPATH -echo "mq=" >> $HGRCPATH -echo "[diff]" >> $HGRCPATH -echo "nodates=1" >> $HGRCPATH + $ cat > makepatch.py < 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('-b\r\n') + > w('+y\r\n') + > w(' c\r\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 -cat > makepatch.py < cateol.py < import sys + > for line in file(sys.argv[1], 'rb'): + > line = line.replace('\r', '') + > line = line.replace('\n', '') + > print line + > EOF + + $ hg init repo + $ cd repo + $ echo '\.diff' > .hgignore + $ echo '\.rej' >> .hgignore + + +Test different --eol values + + $ python -c 'file("a", "wb").write("a\nb\nc\nd\ne")' + $ hg ci -Am adda + adding .hgignore + adding a + $ python ../makepatch.py + $ hg qimport eol.diff + adding eol.diff to series file + +should fail in strict mode + + $ hg qpush + applying eol.diff + patching file a + Hunk #1 FAILED at 0 + 1 out of 1 hunks FAILED -- saving rejects to file a.rej + patch failed, unable to continue (try -v) + patch failed, rejects left in working dir + errors during apply, please fix and refresh eol.diff + $ hg qpop + popping eol.diff + patch queue now empty + +invalid eol -cat > cateol.py <') - line = line.replace('\n', '') - print line -EOF + $ hg --config patch.eol='LFCR' qpush + applying eol.diff + patch failed, unable to continue (try -v) + patch failed, rejects left in working dir + errors during apply, please fix and refresh eol.diff + $ hg qpop + popping eol.diff + patch queue now empty -hg init repo -cd repo -echo '\.diff' > .hgignore -echo '\.rej' >> .hgignore +force LF -# Test different --eol values -python -c 'file("a", "wb").write("a\nb\nc\nd\ne")' -hg ci -Am adda -python ../makepatch.py -hg qimport eol.diff -echo % should fail in strict mode -hg qpush -hg qpop -echo % invalid eol -hg --config patch.eol='LFCR' qpush -hg qpop -echo % force LF -hg --config patch.eol='CRLF' qpush -hg qrefresh -python ../cateol.py .hg/patches/eol.diff -python ../cateol.py a -hg qpop -echo % push again forcing LF and compare revisions -hg --config patch.eol='CRLF' qpush -python ../cateol.py a -hg qpop -echo % push again without LF and compare revisions -hg qpush -python ../cateol.py a -hg qpop + $ hg --config patch.eol='CRLF' qpush + applying eol.diff + now at: eol.diff + $ hg qrefresh + $ python ../cateol.py .hg/patches/eol.diff + test message + + diff -r 0d0bf99a8b7a a + --- a/a + +++ b/a + @@ -1,5 +1,5 @@ + -a + -b + -c + -d + -e + \ No newline at end of file + +a + +y + +c + +d + +z + \ No newline at end of file + $ python ../cateol.py a + a + y + c + d + z + $ hg qpop + popping eol.diff + patch queue now empty + +push again forcing LF and compare revisions + + $ hg --config patch.eol='CRLF' qpush + applying eol.diff + now at: eol.diff + $ python ../cateol.py a + a + y + c + d + z + $ hg qpop + popping eol.diff + patch queue now empty + +push again without LF and compare revisions + + $ hg qpush + applying eol.diff + now at: eol.diff + $ python ../cateol.py a + a + y + c + d + z + $ hg qpop + popping eol.diff + patch queue now empty