Index: tests/trychange_unittest.py |
diff --git a/tests/trychange_unittest.py b/tests/trychange_unittest.py |
deleted file mode 100755 |
index c4917c0f5cd8f6f53de7ddc6ec6a55d6507c6850..0000000000000000000000000000000000000000 |
--- a/tests/trychange_unittest.py |
+++ /dev/null |
@@ -1,161 +0,0 @@ |
-#!/usr/bin/env python |
-# Copyright (c) 2012 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 trychange.py.""" |
- |
-import os |
-import sys |
-import unittest |
- |
-sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) |
- |
-from testing_support.super_mox import SuperMoxTestBase |
- |
-import subprocess2 |
-import trychange |
- |
- |
-class TryChangeTestsBase(SuperMoxTestBase): |
- """Setups and tear downs the mocks but doesn't test anything as-is.""" |
- def setUp(self): |
- SuperMoxTestBase.setUp(self) |
- self.mox.StubOutWithMock(subprocess2, 'communicate') |
- self.mox.StubOutWithMock(trychange, 'RunGit') |
- self.mox.StubOutWithMock(trychange.scm.GIT, 'Capture') |
- self.mox.StubOutWithMock(trychange.scm.GIT, 'GenerateDiff') |
- self.mox.StubOutWithMock(trychange.scm.GIT, 'GetCheckoutRoot') |
- self.mox.StubOutWithMock(trychange.scm.GIT, 'GetEmail') |
- self.mox.StubOutWithMock(trychange.scm.GIT, 'GetPatchName') |
- self.mox.StubOutWithMock(trychange.scm.GIT, 'GetUpstreamBranch') |
- self.mox.StubOutWithMock(trychange.scm.SVN, 'GenerateDiff') |
- self.mox.StubOutWithMock(trychange.scm.SVN, 'GetCheckoutRoot') |
- self.mox.StubOutWithMock(trychange.scm.SVN, 'GetEmail') |
- self.fake_root = self.Dir() |
- self.expected_files = ['foo.txt', 'bar.txt'] |
- self.options = trychange.optparse.Values() |
- self.options.files = self.expected_files |
- self.options.diff = None |
- self.options.name = None |
- self.options.email = None |
- self.options.exclude = [] |
- |
- |
-class TryChangeUnittest(TryChangeTestsBase): |
- """General trychange.py tests.""" |
- def testMembersChanged(self): |
- members = [ |
- 'DieWithError', 'EPILOG', 'Escape', 'GIT', 'GIT_PATCH_DIR_BASENAME', |
- 'GetMungedDiff', 'GuessVCS', 'GIT_BRANCH_FILE', |
- 'HELP_STRING', 'Error', 'InvalidScript', 'NoTryServerAccess', |
- 'OptionParser', 'PrintSuccess', |
- 'RunCommand', 'RunGit', 'SCM', 'SVN', 'TryChange', 'USAGE', 'contextlib', |
- 'datetime', 'errno', 'fix_encoding', 'gcl', 'gclient_utils', |
- 'gerrit_util', 'gen_parser', |
- 'getpass', 'itertools', 'json', 'logging', 'optparse', 'os', 'posixpath', |
- 're', 'scm', 'shutil', 'subprocess2', 'sys', 'tempfile', 'urllib', |
- 'urllib2', 'urlparse'] |
- # If this test fails, you should add the relevant test. |
- self.compareMembers(trychange, members) |
- |
- |
-class TryChangeSimpleTest(unittest.TestCase): |
- # Doesn't require supermox to run. |
- def test_flags(self): |
- cmd = [ |
- '--bot', 'bot1,bot2', |
- '--testfilter', 'test1', |
- '--testfilter', 'test2', |
- '--user', 'joe', |
- '--email', 'joe@example.com', |
- ] |
- options, args = trychange.gen_parser(None).parse_args(cmd) |
- self.assertEquals([], args) |
- # pylint: disable=W0212 |
- bot_spec = trychange._ParseBotList(options.bot, options.testfilter) |
- if options.testfilter: |
- bot_spec = trychange._ApplyTestFilter(options.testfilter, bot_spec) |
- values = trychange._ParseSendChangeOptions(bot_spec, options) |
- self.assertEquals( |
- [ |
- ('user', 'joe'), |
- ('name', None), |
- ('email', 'joe@example.com'), |
- ('bot', 'bot1:test1,test2'), |
- ('bot', 'bot2:test1,test2'), |
- ], |
- values) |
- |
- def test_flags_bad_combination(self): |
- cmd = [ |
- '--bot', 'bot1:test1', |
- '--testfilter', 'test2', |
- ] |
- options, args = trychange.gen_parser(None).parse_args(cmd) |
- self.assertEquals([], args) |
- try: |
- # pylint: disable=W0212 |
- trychange._ParseBotList(options.bot, options.testfilter) |
- self.fail() |
- except ValueError: |
- pass |
- |
- |
-class SVNUnittest(TryChangeTestsBase): |
- """trychange.SVN tests.""" |
- def testMembersChanged(self): |
- members = [ |
- 'AutomagicalSettings', 'CaptureStatus', 'GetCodeReviewSetting', |
- 'ReadRootFile', 'GenerateDiff', 'GetFileNames', 'files', 'file_tuples', |
- ] |
- # If this test fails, you should add the relevant test. |
- self.compareMembers(trychange.SVN, members) |
- |
- def testBasic(self): |
- # pylint: disable=E1103 |
- trychange.os.path.abspath(self.fake_root).AndReturn(self.fake_root) |
- trychange.scm.SVN.GetCheckoutRoot(self.fake_root).AndReturn(self.fake_root) |
- trychange.scm.SVN.GenerateDiff(['foo.txt', 'bar.txt'], |
- self.fake_root, |
- full_move=True, |
- revision=None).AndReturn('A diff') |
- trychange.scm.SVN.GetEmail(self.fake_root).AndReturn('georges@example.com') |
- self.mox.ReplayAll() |
- svn = trychange.SVN(self.options, self.fake_root, self.options.files) |
- self.assertEqual(svn.GetFileNames(), self.expected_files) |
- self.assertEqual(svn.checkout_root, self.fake_root) |
- self.assertEqual(svn.GenerateDiff(), 'A diff') |
- |
- |
-class GITUnittest(TryChangeTestsBase): |
- """trychange.GIT tests.""" |
- def testMembersChanged(self): |
- members = [ |
- 'AutomagicalSettings', 'CaptureStatus', 'GetCodeReviewSetting', |
- 'ReadRootFile', 'GenerateDiff', 'GetFileNames', 'files', 'file_tuples', |
- ] |
- # If this test fails, you should add the relevant test. |
- self.compareMembers(trychange.GIT, members) |
- |
- def testBasic(self): |
- # pylint: disable=E1103 |
- trychange.os.path.abspath(self.fake_root).AndReturn(self.fake_root) |
- trychange.scm.GIT.GetCheckoutRoot(self.fake_root).AndReturn(self.fake_root) |
- trychange.scm.GIT.GetUpstreamBranch(self.fake_root).AndReturn('somewhere') |
- trychange.RunGit(['diff-index', 'HEAD']) |
- trychange.scm.GIT.GenerateDiff(self.fake_root, |
- full_move=True, |
- files=['foo.txt', 'bar.txt'], |
- branch='somewhere').AndReturn('A diff') |
- trychange.scm.GIT.GetPatchName(self.fake_root).AndReturn('bleh-1233') |
- trychange.scm.GIT.GetEmail(self.fake_root).AndReturn('georges@example.com') |
- self.mox.ReplayAll() |
- git = trychange.GIT(self.options, self.fake_root, self.options.files) |
- self.assertEqual(git.GetFileNames(), self.expected_files) |
- self.assertEqual(git.checkout_root, self.fake_root) |
- self.assertEqual(git.GenerateDiff(), 'A diff') |
- |
- |
-if __name__ == '__main__': |
- unittest.main() |