Mercurial > hg
changeset 11895:78e3a70c4445
tests: unify test-mq-eol
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Sun, 15 Aug 2010 21:45:31 +0900 |
parents | a15936ac7ec5 |
children | 286693eaba47 |
files | tests/test-mq-eol tests/test-mq-eol.out tests/test-mq-eol.t tests/test-mq.t |
diffstat | 3 files changed, 141 insertions(+), 134 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-mq-eol Sun Aug 15 21:41:45 2010 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ -#!/bin/sh - -# Test interactions between mq and patch.eol - -echo "[extensions]" >> $HGRCPATH -echo "mq=" >> $HGRCPATH -echo "[diff]" >> $HGRCPATH -echo "nodates=1" >> $HGRCPATH - -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('-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 > cateol.py <<EOF -import sys -for line in file(sys.argv[1], 'rb'): - line = line.replace('\r', '<CR>') - line = line.replace('\n', '<LF>') - 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 -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
--- a/tests/test-mq-eol.out Sun Aug 15 21:41:45 2010 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -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<LF> -<LF> -diff -r 0d0bf99a8b7a a<LF> ---- a/a<LF> -+++ b/a<LF> -@@ -1,5 +1,5 @@<LF> --a<LF> --b<LF> --c<LF> --d<LF> --e<LF> -\ No newline at end of file<LF> -+a<CR><LF> -+y<CR><LF> -+c<CR><LF> -+d<CR><LF> -+z<LF> -\ No newline at end of file<LF> -a<CR><LF> -y<CR><LF> -c<CR><LF> -d<CR><LF> -z -popping eol.diff -patch queue now empty -% push again forcing LF and compare revisions -applying eol.diff -now at: eol.diff -a<CR><LF> -y<CR><LF> -c<CR><LF> -d<CR><LF> -z -popping eol.diff -patch queue now empty -% push again without LF and compare revisions -applying eol.diff -now at: eol.diff -a<CR><LF> -y<CR><LF> -c<CR><LF> -d<CR><LF> -z -popping eol.diff -patch queue now empty
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-mq-eol.t Sun Aug 15 21:45:31 2010 +0900 @@ -0,0 +1,141 @@ + +Test interactions between mq and patch.eol + + + $ echo "[extensions]" >> $HGRCPATH + $ echo "mq=" >> $HGRCPATH + $ echo "[diff]" >> $HGRCPATH + $ echo "nodates=1" >> $HGRCPATH + + $ 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('-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 > cateol.py <<EOF + > import sys + > for line in file(sys.argv[1], 'rb'): + > line = line.replace('\r', '<CR>') + > line = line.replace('\n', '<LF>') + > 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 + + $ 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 + +force LF + + $ hg --config patch.eol='CRLF' qpush + applying eol.diff + now at: eol.diff + $ hg qrefresh + $ python ../cateol.py .hg/patches/eol.diff + test message<LF> + <LF> + diff -r 0d0bf99a8b7a a<LF> + --- a/a<LF> + +++ b/a<LF> + @@ -1,5 +1,5 @@<LF> + -a<LF> + -b<LF> + -c<LF> + -d<LF> + -e<LF> + \ No newline at end of file<LF> + +a<CR><LF> + +y<CR><LF> + +c<CR><LF> + +d<CR><LF> + +z<LF> + \ No newline at end of file<LF> + $ python ../cateol.py a + a<CR><LF> + y<CR><LF> + c<CR><LF> + d<CR><LF> + 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<CR><LF> + y<CR><LF> + c<CR><LF> + d<CR><LF> + 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<CR><LF> + y<CR><LF> + c<CR><LF> + d<CR><LF> + z + $ hg qpop + popping eol.diff + patch queue now empty