Clean up revert.py and fixes an issue when only one file is reverted in a subdirectory.
Add a basic unit test. Review URL: http://codereview.chromium.org/115514 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@16388 0039d316-1c4b-4281-b951-d872f2087c98experimental/szager/collated-output
parent
178d06c779
commit
5771f2622c
@ -0,0 +1,50 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
# Copyright (c) 2009 The Chromium Authors. All rights reserved.
|
||||||
|
# Use of this source code is governed by a BSD-style license that can be
|
||||||
|
# found in the LICENSE file.
|
||||||
|
|
||||||
|
"""Unit tests for revert.py."""
|
||||||
|
|
||||||
|
import os
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
# Local imports
|
||||||
|
import revert
|
||||||
|
|
||||||
|
|
||||||
|
class RevertTestsBase(unittest.TestCase):
|
||||||
|
"""Setups and tear downs the mocks but doesn't test anything as-is."""
|
||||||
|
def setUp(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def compareMembers(self, object, members):
|
||||||
|
"""If you add a member, be sure to add the relevant test!"""
|
||||||
|
# Skip over members starting with '_' since they are usually not meant to
|
||||||
|
# be for public use.
|
||||||
|
actual_members = [x for x in sorted(dir(object))
|
||||||
|
if not x.startswith('_')]
|
||||||
|
expected_members = sorted(members)
|
||||||
|
if actual_members != expected_members:
|
||||||
|
diff = ([i for i in actual_members if i not in expected_members] +
|
||||||
|
[i for i in expected_members if i not in actual_members])
|
||||||
|
print diff
|
||||||
|
self.assertEqual(actual_members, expected_members)
|
||||||
|
|
||||||
|
|
||||||
|
class RevertUnittest(RevertTestsBase):
|
||||||
|
"""General revert.py tests."""
|
||||||
|
def testMembersChanged(self):
|
||||||
|
members = [
|
||||||
|
'CaptureSVNLog', 'GetRepoBase', 'Main', 'ModifiedFile', 'NoBlameList',
|
||||||
|
'NoModifiedFile', 'OutsideOfCheckout', 'Revert', 'UniqueFast',
|
||||||
|
'exceptions', 'gcl', 'gclient', 'optparse', 'os', 'sys', 'xml'
|
||||||
|
]
|
||||||
|
# If this test fails, you should add the relevant test.
|
||||||
|
self.compareMembers(revert, members)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main()
|
Loading…
Reference in New Issue