Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(160)

Unified Diff: tests/patch_test.py

Issue 7847021: Move sample patches to its own file so it can be reused by rietveld_test.py (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 9 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tests/patches_data.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/patch_test.py
diff --git a/tests/patch_test.py b/tests/patch_test.py
index 15d24abb68e100a354f9d60ce3593a06cbcff506..c24986169f5db7ec77aa894358d0514a9ac305b2 100755
--- a/tests/patch_test.py
+++ b/tests/patch_test.py
@@ -14,130 +14,7 @@ ROOT_DIR = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, os.path.join(ROOT_DIR, '..'))
import patch
-
-
-SVN_PATCH = (
- 'Index: chrome/file.cc\n'
- '===================================================================\n'
- '--- chrome/file.cc\t(revision 74690)\n'
- '+++ chrome/file.cc\t(working copy)\n'
- '@@ -80,10 +80,13 @@\n'
- ' // Foo\n'
- ' // Bar\n'
- ' void foo() {\n'
- '- return bar;\n'
- '+ return foo;\n'
- ' }\n'
- ' \n'
- ' \n')
-
-
-GIT_PATCH = (
- 'diff --git a/chrome/file.cc b/chrome/file.cc\n'
- 'index 0e4de76..8320059 100644\n'
- '--- a/chrome/file.cc\n'
- '+++ b/chrome/file.cc\n'
- '@@ -3,6 +3,7 @@ bb\n'
- ' ccc\n'
- ' dd\n'
- ' e\n'
- '+FOO!\n'
- ' ff\n'
- ' ggg\n'
- ' hh\n')
-
-
-# http://codereview.chromium.org/download/issue6368055_22_29.diff
-GIT_DELETE = (
- 'Index: tools/clang_check/README.chromium\n'
- 'diff --git a/tools/clang_check/README.chromium '
- 'b/tools/clang_check/README.chromium\n'
- 'deleted file mode 100644\n'
- 'index fcaa7e0e94bb604a026c4f478fecb1c5796f5413..'
- '0000000000000000000000000000000000000000\n'
- '--- a/tools/clang_check/README.chromium\n'
- '+++ /dev/null\n'
- '@@ -1,9 +0,0 @@\n'
- '-These are terrible, terrible hacks.\n'
- '-\n'
- '-They are meant to be temporary. clang currently doesn\'t allow running a '
- 'plugin\n'
- '-AND doing the normal codegen process. We want our syntax complaining '
- 'plugins to\n'
- '-run during normal compile, but for now, you can user run_plugin.sh to '
- 'hack the\n'
- '-build system to do a syntax check.\n'
- '-\n'
- '-Also see http://code.google.com/p/chromium/wiki/WritingClangPlugins\n'
- '-\n')
-
-
-# http://codereview.chromium.org/download/issue6250123_3013_6010.diff
-GIT_RENAME_PARTIAL = (
- 'Index: chromeos/views/webui_menu_widget.h\n'
- 'diff --git a/chromeos/views/DOMui_menu_widget.h '
- 'b/chromeos/views/webui_menu_widget.h\n'
- 'similarity index 79%\n'
- 'rename from chromeos/views/DOMui_menu_widget.h\n'
- 'rename to chromeos/views/webui_menu_widget.h\n'
- 'index 095d4c474fd9718f5aebfa41a1ccb2d951356d41..'
- '157925075434b590e8acaaf605a64f24978ba08b 100644\n'
- '--- a/chromeos/views/DOMui_menu_widget.h\n'
- '+++ b/chromeos/views/webui_menu_widget.h\n'
- '@@ -1,9 +1,9 @@\n'
- '-// Copyright (c) 2010 The Chromium Authors. All rights reserved.\n'
- '+// Copyright (c) 2011 The Chromium Authors. All rights reserved.\n'
- ' // Use of this source code is governed by a BSD-style license that can be'
- '\n'
- ' // found in the LICENSE file.\n'
- ' \n'
- '-#ifndef CHROME_BROWSER_CHROMEOS_VIEWS_DOMUI_MENU_WIDGET_H_\n'
- '-#define CHROME_BROWSER_CHROMEOS_VIEWS_DOMUI_MENU_WIDGET_H_\n'
- '+#ifndef CHROME_BROWSER_CHROMEOS_VIEWS_WEBUI_MENU_WIDGET_H_\n'
- '+#define CHROME_BROWSER_CHROMEOS_VIEWS_WEBUI_MENU_WIDGET_H_\n'
- ' #pragma once\n'
- ' \n'
- ' #include <string>\n')
-
-
-# http://codereview.chromium.org/download/issue6287022_3001_4010.diff
-GIT_RENAME = (
- 'Index: tools/run_local_server.sh\n'
- 'diff --git a/tools/run_local_server.PY b/tools/run_local_server.sh\n'
- 'similarity index 100%\n'
- 'rename from tools/run_local_server.PY\n'
- 'rename to tools/run_local_server.sh\n')
-
-
-GIT_COPY = (
- 'diff --git a/PRESUBMIT.py b/pp\n'
- 'similarity index 100%\n'
- 'copy from PRESUBMIT.py\n'
- 'copy to pp\n')
-
-
-GIT_NEW = (
- 'diff --git a/foo b/foo\n'
- 'new file mode 100644\n'
- 'index 0000000..5716ca5\n'
- '--- /dev/null\n'
- '+++ b/foo\n'
- '@@ -0,0 +1 @@\n'
- '+bar\n')
-
-
-NEW = (
- '--- /dev/null\n'
- '+++ foo\n'
- '@@ -0,0 +1 @@\n'
- '+bar\n')
-
-
-DELETE = (
- '--- tools/clang_check/README.chromium\n'
- '+++ /dev/null\n'
- '@@ -1,1 +0,0 @@\n'
- '-bar\n')
+from tests.patches_data import GIT, RAW
class PatchTest(unittest.TestCase):
@@ -184,77 +61,66 @@ class PatchTest(unittest.TestCase):
self._check_patch(p, 'foo', 'data', is_binary=True, is_new=True)
def testFilePatchDiff(self):
- p = patch.FilePatchDiff('chrome/file.cc', SVN_PATCH, [])
- self._check_patch(p, 'chrome/file.cc', SVN_PATCH)
+ p = patch.FilePatchDiff('chrome/file.cc', RAW.PATCH, [])
+ self._check_patch(p, 'chrome/file.cc', RAW.PATCH)
def testFilePatchDiffHeaderMode(self):
- diff = (
- 'diff --git a/git_cl/git-cl b/git_cl/git-cl\n'
- 'old mode 100644\n'
- 'new mode 100755\n')
- p = patch.FilePatchDiff('git_cl/git-cl', diff, [])
+ p = patch.FilePatchDiff('git_cl/git-cl', GIT.MODE_EXE, [])
self._check_patch(
- p, 'git_cl/git-cl', diff, is_git_diff=True, patchlevel=1,
+ p, 'git_cl/git-cl', GIT.MODE_EXE, is_git_diff=True, patchlevel=1,
svn_properties=[('svn:executable', '*')])
def testFilePatchDiffHeaderModeIndex(self):
- diff = (
- 'Index: Junk\n'
- 'diff --git a/git_cl/git-cl b/git_cl/git-cl\n'
- 'old mode 100644\n'
- 'new mode 100755\n')
- p = patch.FilePatchDiff('git_cl/git-cl', diff, [])
+ p = patch.FilePatchDiff('git_cl/git-cl', GIT.MODE_EXE_JUNK, [])
self._check_patch(
- p, 'git_cl/git-cl', diff, is_git_diff=True, patchlevel=1,
+ p, 'git_cl/git-cl', GIT.MODE_EXE_JUNK, is_git_diff=True, patchlevel=1,
svn_properties=[('svn:executable', '*')])
def testFilePatchDiffSvnNew(self):
# The code path is different for git and svn.
- p = patch.FilePatchDiff('foo', NEW, [])
- self._check_patch(p, 'foo', NEW, is_new=True)
+ p = patch.FilePatchDiff('foo', RAW.NEW, [])
+ self._check_patch(p, 'foo', RAW.NEW, is_new=True)
def testFilePatchDiffGitNew(self):
# The code path is different for git and svn.
- p = patch.FilePatchDiff('foo', GIT_NEW, [])
+ p = patch.FilePatchDiff('foo', GIT.NEW, [])
self._check_patch(
- p, 'foo', GIT_NEW, is_new=True, is_git_diff=True, patchlevel=1)
+ p, 'foo', GIT.NEW, is_new=True, is_git_diff=True, patchlevel=1)
def testValidSvn(self):
# pylint: disable=R0201
# Method could be a function
# Should not throw.
- p = patch.FilePatchDiff('chrome/file.cc', SVN_PATCH, [])
- lines = SVN_PATCH.splitlines(True)
+ p = patch.FilePatchDiff('chrome/file.cc', RAW.PATCH, [])
+ lines = RAW.PATCH.splitlines(True)
header = ''.join(lines[:4])
hunks = ''.join(lines[4:])
self.assertEquals(header, p.diff_header)
self.assertEquals(hunks, p.diff_hunks)
- self.assertEquals(SVN_PATCH, p.get())
+ self.assertEquals(RAW.PATCH, p.get())
def testValidSvnNew(self):
- text = '--- /dev/null\t2\n+++ chrome/file.cc\tfoo\n'
- p = patch.FilePatchDiff('chrome/file.cc', text, [])
- self.assertEquals(text, p.diff_header)
+ p = patch.FilePatchDiff('chrome/file.cc', RAW.MINIMAL_NEW, [])
+ self.assertEquals(RAW.MINIMAL_NEW, p.diff_header)
self.assertEquals('', p.diff_hunks)
- self.assertEquals(text, p.get())
+ self.assertEquals(RAW.MINIMAL_NEW, p.get())
def testValidSvnDelete(self):
- text = '--- chrome/file.cc\tbar\n+++ /dev/null\tfoo\n'
- p = patch.FilePatchDiff('chrome/file.cc', text, [])
- self.assertEquals(text, p.diff_header)
+ p = patch.FilePatchDiff('chrome/file.cc', RAW.MINIMAL_DELETE, [])
+ self.assertEquals(RAW.MINIMAL_DELETE, p.diff_header)
self.assertEquals('', p.diff_hunks)
- self.assertEquals(text, p.get())
+ self.assertEquals(RAW.MINIMAL_DELETE, p.get())
def testRelPath(self):
patches = patch.PatchSet([
- patch.FilePatchDiff('chrome/file.cc', SVN_PATCH, []),
+ patch.FilePatchDiff('chrome/file.cc', RAW.PATCH, []),
patch.FilePatchDiff(
- 'tools\\clang_check/README.chromium', GIT_DELETE, []),
- patch.FilePatchDiff('tools/run_local_server.sh', GIT_RENAME, []),
+ 'tools\\clang_check/README.chromium', GIT.DELETE, []),
+ patch.FilePatchDiff('tools/run_local_server.sh', GIT.RENAME, []),
patch.FilePatchDiff(
- 'chromeos\\views/webui_menu_widget.h', GIT_RENAME_PARTIAL, []),
- patch.FilePatchDiff('pp', GIT_COPY, []),
- patch.FilePatchDiff('foo', GIT_NEW, []),
+ 'chromeos\\views/webui_menu_widget.h', GIT.RENAME_PARTIAL, []),
+ patch.FilePatchDiff('pp', GIT.COPY, []),
+ patch.FilePatchDiff('foo', GIT.NEW, []),
patch.FilePatchDelete('other/place/foo', True),
patch.FilePatchBinary('bar', 'data', [], is_new=False),
])
@@ -273,7 +139,7 @@ class PatchTest(unittest.TestCase):
header = []
new_name = os.path.join('a', 'bb', orig_name)
new_source_name = os.path.join('a', 'bb', orig_source_name)
- for line in SVN_PATCH.splitlines(True):
+ for line in RAW.PATCH.splitlines(True):
if line.startswith('@@'):
break
if line[:3] == '---':
@@ -286,7 +152,7 @@ class PatchTest(unittest.TestCase):
def testRelPathEmpty(self):
patches = patch.PatchSet([
- patch.FilePatchDiff('chrome\\file.cc', SVN_PATCH, []),
+ patch.FilePatchDiff('chrome\\file.cc', RAW.PATCH, []),
patch.FilePatchDelete('other\\place\\foo', True),
])
patches.set_relpath('')
@@ -296,106 +162,75 @@ class PatchTest(unittest.TestCase):
self.assertEquals([None, None], [f.source_filename for f in patches])
def testBackSlash(self):
- mangled_patch = SVN_PATCH.replace('chrome/', 'chrome\\')
+ mangled_patch = RAW.PATCH.replace('chrome/', 'chrome\\')
patches = patch.PatchSet([
patch.FilePatchDiff('chrome\\file.cc', mangled_patch, []),
patch.FilePatchDelete('other\\place\\foo', True),
])
expected = ['chrome/file.cc', 'other/place/foo']
self.assertEquals(expected, patches.filenames)
- self.assertEquals(SVN_PATCH, patches.patches[0].get())
+ self.assertEquals(RAW.PATCH, patches.patches[0].get())
def testDelete(self):
- p = patch.FilePatchDiff('tools/clang_check/README.chromium', DELETE, [])
+ p = patch.FilePatchDiff('tools/clang_check/README.chromium', RAW.DELETE, [])
self._check_patch(
- p, 'tools/clang_check/README.chromium', DELETE, is_delete=True)
+ p, 'tools/clang_check/README.chromium', RAW.DELETE, is_delete=True)
def testGitDelete(self):
- p = patch.FilePatchDiff('tools/clang_check/README.chromium', GIT_DELETE, [])
+ p = patch.FilePatchDiff('tools/clang_check/README.chromium', GIT.DELETE, [])
self._check_patch(
- p, 'tools/clang_check/README.chromium', GIT_DELETE, is_delete=True,
+ p, 'tools/clang_check/README.chromium', GIT.DELETE, is_delete=True,
is_git_diff=True, patchlevel=1)
def testGitRename(self):
- p = patch.FilePatchDiff('tools/run_local_server.sh', GIT_RENAME, [])
- self._check_patch(p, 'tools/run_local_server.sh', GIT_RENAME,
+ p = patch.FilePatchDiff('tools/run_local_server.sh', GIT.RENAME, [])
+ self._check_patch(p, 'tools/run_local_server.sh', GIT.RENAME,
is_git_diff=True, patchlevel=1,
source_filename='tools/run_local_server.PY', is_new=True)
def testGitRenamePartial(self):
p = patch.FilePatchDiff(
- 'chromeos/views/webui_menu_widget.h', GIT_RENAME_PARTIAL, [])
+ 'chromeos/views/webui_menu_widget.h', GIT.RENAME_PARTIAL, [])
self._check_patch(
- p, 'chromeos/views/webui_menu_widget.h', GIT_RENAME_PARTIAL,
+ p, 'chromeos/views/webui_menu_widget.h', GIT.RENAME_PARTIAL,
source_filename='chromeos/views/DOMui_menu_widget.h', is_git_diff=True,
patchlevel=1, is_new=True)
def testGitCopy(self):
- p = patch.FilePatchDiff('pp', GIT_COPY, [])
- self._check_patch(p, 'pp', GIT_COPY, is_git_diff=True, patchlevel=1,
+ p = patch.FilePatchDiff('pp', GIT.COPY, [])
+ self._check_patch(p, 'pp', GIT.COPY, is_git_diff=True, patchlevel=1,
source_filename='PRESUBMIT.py', is_new=True)
def testOnlyHeader(self):
- diff = '--- file_a\n+++ file_a\n'
- p = patch.FilePatchDiff('file_a', diff, [])
- self._check_patch(p, 'file_a', diff)
+ p = patch.FilePatchDiff('file_a', RAW.MINIMAL, [])
+ self._check_patch(p, 'file_a', RAW.MINIMAL)
def testSmallest(self):
- diff = '--- file_a\n+++ file_a\n@@ -0,0 +1 @@\n+foo\n'
- p = patch.FilePatchDiff('file_a', diff, [])
- self._check_patch(p, 'file_a', diff)
+ p = patch.FilePatchDiff('file_a', RAW.NEW_NOT_NULL, [])
+ self._check_patch(p, 'file_a', RAW.NEW_NOT_NULL)
def testRenameOnlyHeader(self):
- diff = '--- file_a\n+++ file_b\n'
- p = patch.FilePatchDiff('file_b', diff, [])
- # Should it be marked as new?
- self._check_patch(p, 'file_b', diff, source_filename='file_a', is_new=True)
+ p = patch.FilePatchDiff('file_b', RAW.MINIMAL_RENAME, [])
+ self._check_patch(
+ p, 'file_b', RAW.MINIMAL_RENAME, source_filename='file_a', is_new=True)
def testGitCopyPartial(self):
- diff = (
- 'diff --git a/wtf b/wtf2\n'
- 'similarity index 98%\n'
- 'copy from wtf\n'
- 'copy to wtf2\n'
- 'index 79fbaf3..3560689 100755\n'
- '--- a/wtf\n'
- '+++ b/wtf2\n'
- '@@ -1,4 +1,4 @@\n'
- '-#!/usr/bin/env python\n'
- '+#!/usr/bin/env python1.3\n'
- ' # Copyright (c) 2010 The Chromium Authors. All rights reserved.\n'
- ' # blah blah blah as\n'
- ' # found in the LICENSE file.\n')
- p = patch.FilePatchDiff('wtf2', diff, [])
- # Should it be marked as new?
+ p = patch.FilePatchDiff('wtf2', GIT.COPY_PARTIAL, [])
self._check_patch(
- p, 'wtf2', diff, source_filename='wtf', is_git_diff=True, patchlevel=1,
- is_new=True)
-
- def testGitExe(self):
- diff = (
- 'diff --git a/natsort_test.py b/natsort_test.py\n'
- 'new file mode 100755\n'
- '--- /dev/null\n'
- '+++ b/natsort_test.py\n'
- '@@ -0,0 +1,1 @@\n'
- '+#!/usr/bin/env python\n')
- p = patch.FilePatchDiff('natsort_test.py', diff, [])
+ p, 'wtf2', GIT.COPY_PARTIAL, source_filename='wtf', is_git_diff=True,
+ patchlevel=1, is_new=True)
+
+ def testGitNewExe(self):
+ p = patch.FilePatchDiff('natsort_test.py', GIT.NEW_EXE, [])
self._check_patch(
- p, 'natsort_test.py', diff, is_new=True, is_git_diff=True, patchlevel=1,
- svn_properties=[('svn:executable', '*')])
+ p, 'natsort_test.py', GIT.NEW_EXE, is_new=True, is_git_diff=True,
+ patchlevel=1, svn_properties=[('svn:executable', '*')])
- def testGitExe2(self):
- diff = (
- 'diff --git a/natsort_test.py b/natsort_test.py\n'
- 'new file mode 100644\n'
- '--- /dev/null\n'
- '+++ b/natsort_test.py\n'
- '@@ -0,0 +1,1 @@\n'
- '+#!/usr/bin/env python\n')
- p = patch.FilePatchDiff('natsort_test.py', diff, [])
+ def testGitNewMode(self):
+ p = patch.FilePatchDiff('natsort_test.py', GIT.NEW_MODE, [])
self._check_patch(
- p, 'natsort_test.py', diff, is_new=True, is_git_diff=True, patchlevel=1)
+ p, 'natsort_test.py', GIT.NEW_MODE, is_new=True, is_git_diff=True,
+ patchlevel=1)
class PatchTestFail(unittest.TestCase):
@@ -439,7 +274,7 @@ class PatchTestFail(unittest.TestCase):
def testFilePatchBadDiffName(self):
try:
- patch.FilePatchDiff('foo', SVN_PATCH, [])
+ patch.FilePatchDiff('foo', RAW.PATCH, [])
self.fail()
except patch.UnsupportedPatchFormat, e:
self.assertEquals(
@@ -536,7 +371,7 @@ class PatchTestFail(unittest.TestCase):
def testRelPathBad(self):
patches = patch.PatchSet([
- patch.FilePatchDiff('chrome\\file.cc', SVN_PATCH, []),
+ patch.FilePatchDiff('chrome\\file.cc', RAW.PATCH, []),
patch.FilePatchDelete('other\\place\\foo', True),
])
try:
« no previous file with comments | « no previous file | tests/patches_data.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698