Index: tests/patch_test.py |
diff --git a/tests/patch_test.py b/tests/patch_test.py |
index db621ea51f88378eaedb17b37ed0587dcde15d3f..15d24abb68e100a354f9d60ce3593a06cbcff506 100755 |
--- a/tests/patch_test.py |
+++ b/tests/patch_test.py |
@@ -170,20 +170,10 @@ class PatchTest(unittest.TestCase): |
def testFilePatchDelete(self): |
p = patch.FilePatchDelete('foo', False) |
self._check_patch(p, 'foo', None, is_delete=True) |
- try: |
- p.get() |
- self.fail() |
- except NotImplementedError: |
- pass |
def testFilePatchDeleteBin(self): |
p = patch.FilePatchDelete('foo', True) |
self._check_patch(p, 'foo', None, is_delete=True, is_binary=True) |
- try: |
- p.get() |
- self.fail() |
- except NotImplementedError: |
- pass |
def testFilePatchBinary(self): |
p = patch.FilePatchBinary('foo', 'data', [], is_new=False) |
@@ -229,124 +219,6 @@ class PatchTest(unittest.TestCase): |
self._check_patch( |
p, 'foo', GIT_NEW, is_new=True, is_git_diff=True, patchlevel=1) |
- def testFilePatchDiffBad(self): |
- try: |
- patch.FilePatchDiff('foo', 'data', []) |
- self.fail() |
- except patch.UnsupportedPatchFormat: |
- pass |
- |
- def testFilePatchDiffEmpty(self): |
- try: |
- patch.FilePatchDiff('foo', '', []) |
- self.fail() |
- except patch.UnsupportedPatchFormat: |
- pass |
- |
- def testFilePatchDiffNone(self): |
- try: |
- patch.FilePatchDiff('foo', None, []) |
- self.fail() |
- except patch.UnsupportedPatchFormat: |
- pass |
- |
- def testFilePatchBadDiffName(self): |
- try: |
- patch.FilePatchDiff('foo', SVN_PATCH, []) |
- self.fail() |
- except patch.UnsupportedPatchFormat, e: |
- self.assertEquals( |
- "Can't process patch for file foo.\nUnexpected diff: chrome/file.cc.", |
- str(e)) |
- |
- def testFilePatchDiffBadHeader(self): |
- try: |
- diff = ( |
- '+++ b/foo\n' |
- '@@ -0,0 +1 @@\n' |
- '+bar\n') |
- patch.FilePatchDiff('foo', diff, []) |
- self.fail() |
- except patch.UnsupportedPatchFormat: |
- pass |
- |
- def testFilePatchDiffBadGitHeader(self): |
- try: |
- diff = ( |
- 'diff --git a/foo b/foo\n' |
- '+++ b/foo\n' |
- '@@ -0,0 +1 @@\n' |
- '+bar\n') |
- patch.FilePatchDiff('foo', diff, []) |
- self.fail() |
- except patch.UnsupportedPatchFormat: |
- pass |
- |
- def testFilePatchDiffBadHeaderReversed(self): |
- try: |
- diff = ( |
- '+++ b/foo\n' |
- '--- b/foo\n' |
- '@@ -0,0 +1 @@\n' |
- '+bar\n') |
- patch.FilePatchDiff('foo', diff, []) |
- self.fail() |
- except patch.UnsupportedPatchFormat: |
- pass |
- |
- def testFilePatchDiffGitBadHeaderReversed(self): |
- try: |
- diff = ( |
- 'diff --git a/foo b/foo\n' |
- '+++ b/foo\n' |
- '--- b/foo\n' |
- '@@ -0,0 +1 @@\n' |
- '+bar\n') |
- patch.FilePatchDiff('foo', diff, []) |
- self.fail() |
- except patch.UnsupportedPatchFormat: |
- pass |
- |
- def testFilePatchDiffInvalidGit(self): |
- try: |
- patch.FilePatchDiff('svn_utils_test.txt', ( |
- 'diff --git a/tests/svn_utils_test_data/svn_utils_test.txt ' |
- 'b/tests/svn_utils_test_data/svn_utils_test.txt\n' |
- 'index 0e4de76..8320059 100644\n' |
- '--- a/svn_utils_test.txt\n' |
- '+++ b/svn_utils_test.txt\n' |
- '@@ -3,6 +3,7 @@ bb\n' |
- 'ccc\n' |
- 'dd\n' |
- 'e\n' |
- '+FOO!\n' |
- 'ff\n' |
- 'ggg\n' |
- 'hh\n'), |
- []) |
- self.fail() |
- except patch.UnsupportedPatchFormat: |
- pass |
- try: |
- patch.FilePatchDiff('svn_utils_test2.txt', ( |
- 'diff --git a/svn_utils_test_data/svn_utils_test.txt ' |
- 'b/svn_utils_test.txt\n' |
- 'index 0e4de76..8320059 100644\n' |
- '--- a/svn_utils_test.txt\n' |
- '+++ b/svn_utils_test.txt\n' |
- '@@ -3,6 +3,7 @@ bb\n' |
- 'ccc\n' |
- 'dd\n' |
- 'e\n' |
- '+FOO!\n' |
- 'ff\n' |
- 'ggg\n' |
- 'hh\n'), |
- []) |
- self.fail() |
- except patch.UnsupportedPatchFormat: |
- pass |
- |
def testValidSvn(self): |
# pylint: disable=R0201 |
# Method could be a function |
@@ -412,17 +284,6 @@ class PatchTest(unittest.TestCase): |
header = ''.join(header) |
self.assertEquals(header, patches.patches[0].diff_header) |
- def testRelPathBad(self): |
- patches = patch.PatchSet([ |
- patch.FilePatchDiff('chrome\\file.cc', SVN_PATCH, []), |
- patch.FilePatchDelete('other\\place\\foo', True), |
- ]) |
- try: |
- patches.set_relpath('..') |
- self.fail() |
- except patch.UnsupportedPatchFormat: |
- pass |
- |
def testRelPathEmpty(self): |
patches = patch.PatchSet([ |
patch.FilePatchDiff('chrome\\file.cc', SVN_PATCH, []), |
@@ -484,21 +345,6 @@ class PatchTest(unittest.TestCase): |
p = patch.FilePatchDiff('file_a', diff, []) |
self._check_patch(p, 'file_a', diff) |
- def testInverted(self): |
- try: |
- patch.FilePatchDiff( |
- 'file_a', '+++ file_a\n--- file_a\n@@ -0,0 +1 @@\n+foo\n', []) |
- self.fail() |
- except patch.UnsupportedPatchFormat: |
- pass |
- |
- def testInvertedOnlyHeader(self): |
- try: |
- patch.FilePatchDiff('file_a', '+++ file_a\n--- file_a\n', []) |
- self.fail() |
- except patch.UnsupportedPatchFormat: |
- pass |
- |
def testRenameOnlyHeader(self): |
diff = '--- file_a\n+++ file_b\n' |
p = patch.FilePatchDiff('file_b', diff, []) |
@@ -552,6 +398,169 @@ class PatchTest(unittest.TestCase): |
p, 'natsort_test.py', diff, is_new=True, is_git_diff=True, patchlevel=1) |
+class PatchTestFail(unittest.TestCase): |
+ # All patches that should throw. |
+ def testFilePatchDelete(self): |
+ p = patch.FilePatchDelete('foo', False) |
+ try: |
+ p.get() |
+ self.fail() |
+ except NotImplementedError: |
+ pass |
+ |
+ def testFilePatchDeleteBin(self): |
+ p = patch.FilePatchDelete('foo', True) |
+ try: |
+ p.get() |
+ self.fail() |
+ except NotImplementedError: |
+ pass |
+ |
+ def testFilePatchDiffBad(self): |
+ try: |
+ patch.FilePatchDiff('foo', 'data', []) |
+ self.fail() |
+ except patch.UnsupportedPatchFormat: |
+ pass |
+ |
+ def testFilePatchDiffEmpty(self): |
+ try: |
+ patch.FilePatchDiff('foo', '', []) |
+ self.fail() |
+ except patch.UnsupportedPatchFormat: |
+ pass |
+ |
+ def testFilePatchDiffNone(self): |
+ try: |
+ patch.FilePatchDiff('foo', None, []) |
+ self.fail() |
+ except patch.UnsupportedPatchFormat: |
+ pass |
+ |
+ def testFilePatchBadDiffName(self): |
+ try: |
+ patch.FilePatchDiff('foo', SVN_PATCH, []) |
+ self.fail() |
+ except patch.UnsupportedPatchFormat, e: |
+ self.assertEquals( |
+ "Can't process patch for file foo.\nUnexpected diff: chrome/file.cc.", |
+ str(e)) |
+ |
+ def testFilePatchDiffBadHeader(self): |
+ try: |
+ diff = ( |
+ '+++ b/foo\n' |
+ '@@ -0,0 +1 @@\n' |
+ '+bar\n') |
+ patch.FilePatchDiff('foo', diff, []) |
+ self.fail() |
+ except patch.UnsupportedPatchFormat: |
+ pass |
+ |
+ def testFilePatchDiffBadGitHeader(self): |
+ try: |
+ diff = ( |
+ 'diff --git a/foo b/foo\n' |
+ '+++ b/foo\n' |
+ '@@ -0,0 +1 @@\n' |
+ '+bar\n') |
+ patch.FilePatchDiff('foo', diff, []) |
+ self.fail() |
+ except patch.UnsupportedPatchFormat: |
+ pass |
+ |
+ def testFilePatchDiffBadHeaderReversed(self): |
+ try: |
+ diff = ( |
+ '+++ b/foo\n' |
+ '--- b/foo\n' |
+ '@@ -0,0 +1 @@\n' |
+ '+bar\n') |
+ patch.FilePatchDiff('foo', diff, []) |
+ self.fail() |
+ except patch.UnsupportedPatchFormat: |
+ pass |
+ |
+ def testFilePatchDiffGitBadHeaderReversed(self): |
+ try: |
+ diff = ( |
+ 'diff --git a/foo b/foo\n' |
+ '+++ b/foo\n' |
+ '--- b/foo\n' |
+ '@@ -0,0 +1 @@\n' |
+ '+bar\n') |
+ patch.FilePatchDiff('foo', diff, []) |
+ self.fail() |
+ except patch.UnsupportedPatchFormat: |
+ pass |
+ |
+ def testFilePatchDiffInvalidGit(self): |
+ try: |
+ patch.FilePatchDiff('svn_utils_test.txt', ( |
+ 'diff --git a/tests/svn_utils_test_data/svn_utils_test.txt ' |
+ 'b/tests/svn_utils_test_data/svn_utils_test.txt\n' |
+ 'index 0e4de76..8320059 100644\n' |
+ '--- a/svn_utils_test.txt\n' |
+ '+++ b/svn_utils_test.txt\n' |
+ '@@ -3,6 +3,7 @@ bb\n' |
+ 'ccc\n' |
+ 'dd\n' |
+ 'e\n' |
+ '+FOO!\n' |
+ 'ff\n' |
+ 'ggg\n' |
+ 'hh\n'), |
+ []) |
+ self.fail() |
+ except patch.UnsupportedPatchFormat: |
+ pass |
+ try: |
+ patch.FilePatchDiff('svn_utils_test2.txt', ( |
+ 'diff --git a/svn_utils_test_data/svn_utils_test.txt ' |
+ 'b/svn_utils_test.txt\n' |
+ 'index 0e4de76..8320059 100644\n' |
+ '--- a/svn_utils_test.txt\n' |
+ '+++ b/svn_utils_test.txt\n' |
+ '@@ -3,6 +3,7 @@ bb\n' |
+ 'ccc\n' |
+ 'dd\n' |
+ 'e\n' |
+ '+FOO!\n' |
+ 'ff\n' |
+ 'ggg\n' |
+ 'hh\n'), |
+ []) |
+ self.fail() |
+ except patch.UnsupportedPatchFormat: |
+ pass |
+ |
+ def testRelPathBad(self): |
+ patches = patch.PatchSet([ |
+ patch.FilePatchDiff('chrome\\file.cc', SVN_PATCH, []), |
+ patch.FilePatchDelete('other\\place\\foo', True), |
+ ]) |
+ try: |
+ patches.set_relpath('..') |
+ self.fail() |
+ except patch.UnsupportedPatchFormat: |
+ pass |
+ |
+ def testInverted(self): |
+ try: |
+ patch.FilePatchDiff( |
+ 'file_a', '+++ file_a\n--- file_a\n@@ -0,0 +1 @@\n+foo\n', []) |
+ self.fail() |
+ except patch.UnsupportedPatchFormat: |
+ pass |
+ |
+ def testInvertedOnlyHeader(self): |
+ try: |
+ patch.FilePatchDiff('file_a', '+++ file_a\n--- file_a\n', []) |
+ self.fail() |
+ except patch.UnsupportedPatchFormat: |
+ pass |
+ |
+ |
if __name__ == '__main__': |
logging.basicConfig(level= |
[logging.WARNING, logging.INFO, logging.DEBUG][ |