Commit c73a5303 authored by maruel@chromium.org's avatar maruel@chromium.org

Move fail tests into a separate class.

Makes the code clearer by separating good and bad use cases.

R=dpranke@chromium.org
BUG=
TEST=


Review URL: http://codereview.chromium.org/7850018

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100198 0039d316-1c4b-4281-b951-d872f2087c98
parent eafd7ae7
......@@ -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][
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment