Chromium Code Reviews| Index: tests/gclient_test.py |
| diff --git a/tests/gclient_test.py b/tests/gclient_test.py |
| old mode 100644 |
| new mode 100755 |
| index 828805ac0b91b4a18751dffa19ccca7d70255474..aa4e0e0ea5bc051ab619c8d1f02138baf2578ca6 |
| --- a/tests/gclient_test.py |
| +++ b/tests/gclient_test.py |
| @@ -19,16 +19,10 @@ |
| __author__ = 'stephen5.ng@gmail.com (Stephen Ng)' |
| import __builtin__ |
| -import os |
| -import re |
| import StringIO |
| -import unittest |
| import gclient |
| -import gclient_scm |
| -import gclient_utils |
| -import super_mox |
| -from super_mox import mox |
| +from super_mox import mox, SuperMoxTestBase |
| class IsOneOf(mox.Comparator): |
| @@ -42,15 +36,15 @@ class IsOneOf(mox.Comparator): |
| return '<sequence or map containing \'%s\'>' % str(self._keys) |
| -class BaseTestCase(super_mox.SuperMoxTestBase): |
| +class BaseTestCase(SuperMoxTestBase): |
| def setUp(self): |
| - super_mox.SuperMoxTestBase.setUp(self) |
| + SuperMoxTestBase.setUp(self) |
| # Like unittest's assertRaises, but checks for Gclient.Error. |
| def assertRaisesError(self, msg, fn, *args, **kwargs): |
| try: |
| fn(*args, **kwargs) |
| - except gclient_utils.Error, e: |
| + except gclient.gclient_utils.Error, e: |
| self.assertEquals(e.args[0], msg) |
| else: |
| self.fail('%s not raised' % msg) |
| @@ -67,27 +61,27 @@ class GClientBaseTestCase(BaseTestCase): |
| self.mox.StubOutWithMock(gclient.os.path, 'isdir') |
| self.mox.StubOutWithMock(gclient.os, 'remove') |
| self.mox.StubOutWithMock(gclient.sys, 'stdout') |
| - self.mox.StubOutWithMock(gclient_utils, 'subprocess') |
| + self.mox.StubOutWithMock(gclient.gclient_utils, 'subprocess') |
| # These are not tested. |
| - self.mox.StubOutWithMock(gclient_utils, 'FileRead') |
| - self.mox.StubOutWithMock(gclient_utils, 'FileWrite') |
| - self.mox.StubOutWithMock(gclient_utils, 'SubprocessCall') |
| - self.mox.StubOutWithMock(gclient_utils, 'RemoveDirectory') |
| + self.mox.StubOutWithMock(gclient.gclient_utils, 'FileRead') |
| + self.mox.StubOutWithMock(gclient.gclient_utils, 'FileWrite') |
| + self.mox.StubOutWithMock(gclient.gclient_utils, 'SubprocessCall') |
| + self.mox.StubOutWithMock(gclient.gclient_utils, 'RemoveDirectory') |
| # Mock them to be sure nothing bad happens. |
| - self.mox.StubOutWithMock(gclient_scm, 'CaptureSVN') |
| - self._CaptureSVNInfo = gclient_scm.CaptureSVNInfo |
| - self.mox.StubOutWithMock(gclient_scm, 'CaptureSVNInfo') |
| - self.mox.StubOutWithMock(gclient_scm, 'CaptureSVNStatus') |
| - self.mox.StubOutWithMock(gclient_scm, 'RunSVN') |
| - self.mox.StubOutWithMock(gclient_scm, 'RunSVNAndGetFileList') |
| + self.mox.StubOutWithMock(gclient.gclient_scm, 'CaptureSVN') |
| + self._CaptureSVNInfo = gclient.gclient_scm.CaptureSVNInfo |
| + self.mox.StubOutWithMock(gclient.gclient_scm, 'CaptureSVNInfo') |
| + self.mox.StubOutWithMock(gclient.gclient_scm, 'CaptureSVNStatus') |
| + self.mox.StubOutWithMock(gclient.gclient_scm, 'RunSVN') |
| + self.mox.StubOutWithMock(gclient.gclient_scm, 'RunSVNAndGetFileList') |
| self._gclient_gclient = gclient.GClient |
| gclient.GClient = self.mox.CreateMockAnything() |
| - self._scm_wrapper = gclient_scm.CreateSCM |
| - gclient_scm.CreateSCM = self.mox.CreateMockAnything() |
| + self._scm_wrapper = gclient.gclient_scm.CreateSCM |
| + gclient.gclient_scm.CreateSCM = self.mox.CreateMockAnything() |
| def tearDown(self): |
| gclient.GClient = self._gclient_gclient |
| - gclient_scm.CreateSCM = self._scm_wrapper |
| + gclient.gclient_scm.CreateSCM = self._scm_wrapper |
| BaseTestCase.tearDown(self) |
| @@ -353,8 +347,8 @@ class GClientClassTestCase(GclientTestCase): |
| def testSetConfig_ConfigContent_GetVar_SaveConfig_SetDefaultConfig(self): |
| options = self.Options() |
| text = "# Dummy content\nclient = 'my client'" |
| - gclient_utils.FileWrite( |
| - os.path.join(self.root_dir, options.config_filename), |
| + gclient.gclient_utils.FileWrite( |
| + gclient.os.path.join(self.root_dir, options.config_filename), |
|
Dirk Pranke
2009/11/10 19:53:38
at some point I need to learn how pxmox works ...
M-A Ruel
2009/11/10 20:07:12
Actually, this is so we don't have multiple entry
|
| text) |
| self.mox.ReplayAll() |
| @@ -386,8 +380,8 @@ class GClientClassTestCase(GclientTestCase): |
| def testLoadCurrentConfig(self): |
| options = self.Options() |
| - path = os.path.realpath(self.root_dir) |
| - gclient.os.path.exists(os.path.join(path, options.config_filename) |
| + path = gclient.os.path.realpath(self.root_dir) |
| + gclient.os.path.exists(gclient.os.path.join(path, options.config_filename) |
| ).AndReturn(True) |
| gclient.GClient(path, options).AndReturn(gclient.GClient) |
| gclient.GClient._LoadConfig() |
| @@ -417,28 +411,29 @@ class GClientClassTestCase(GclientTestCase): |
| options = self.Options() |
| - checkout_path = os.path.join(self.root_dir, solution_name) |
| - gclient.os.path.exists(os.path.join(checkout_path, '.git')).AndReturn(False) |
| + checkout_path = gclient.os.path.join(self.root_dir, solution_name) |
| + gclient.os.path.exists(gclient.os.path.join(checkout_path, '.git') |
| + ).AndReturn(False) |
| # Expect a check for the entries file and we say there is not one. |
| - gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename) |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, options.entries_filename) |
| ).AndReturn(False) |
| # An scm will be requested for the solution. |
| scm_wrapper_sol = self.mox.CreateMockAnything() |
| - gclient_scm.CreateSCM(self.url, self.root_dir, solution_name |
| + gclient.gclient_scm.CreateSCM(self.url, self.root_dir, solution_name |
| ).AndReturn(scm_wrapper_sol) |
| # Then an update will be performed. |
| scm_wrapper_sol.RunCommand('update', options, self.args, []) |
| # Then an attempt will be made to read its DEPS file. |
| - gclient_utils.FileRead(os.path.join(self.root_dir, |
| - solution_name, |
| - options.deps_file) |
| - ).AndRaise(IOError(2, 'No DEPS file')) |
| + gclient.gclient_utils.FileRead( |
| + gclient.os.path.join(self.root_dir, solution_name, options.deps_file) |
| + ).AndRaise(IOError(2, 'No DEPS file')) |
| # After everything is done, an attempt is made to write an entries |
| # file. |
| - gclient_utils.FileWrite( |
| - os.path.join(self.root_dir, options.entries_filename), |
| + gclient.gclient_utils.FileWrite( |
| + gclient.os.path.join(self.root_dir, options.entries_filename), |
| IsOneOf((entries_content1, entries_content2))) |
| self.mox.ReplayAll() |
| @@ -461,7 +456,8 @@ class GClientClassTestCase(GclientTestCase): |
| "deps = {\n" |
| " 'src/t': 'svn://scm.t/trunk',\n" |
| "}\n") |
| - entry_path = os.path.join(solution_name, 'src', 't').replace('\\', '\\\\') |
| + entry_path = gclient.os.path.join(solution_name, 'src', 't' |
| + ).replace('\\', '\\\\') |
| entries_content = ( |
| "entries = \\\n" |
| "{ '%s': '%s',\n" |
| @@ -473,38 +469,41 @@ class GClientClassTestCase(GclientTestCase): |
| options = self.Options() |
| - gclient.os.path.exists(os.path.join(self.root_dir, solution_name, 'src', |
| - 't', '.git') |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, solution_name, 'src', 't', '.git') |
| ).AndReturn(False) |
| - gclient.os.path.exists(os.path.join(self.root_dir, solution_name, '.git') |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, solution_name, '.git') |
| ).AndReturn(False) |
| # Expect a check for the entries file and we say there is not one. |
| - gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename) |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, options.entries_filename) |
| ).AndReturn(False) |
| # An scm will be requested for the solution. |
| - gclient_scm.CreateSCM(self.url, self.root_dir, solution_name |
| + gclient.gclient_scm.CreateSCM(self.url, self.root_dir, solution_name |
| ).AndReturn(scm_wrapper_sol) |
| # Then an update will be performed. |
| scm_wrapper_sol.RunCommand('update', options, self.args, []) |
| # Then an attempt will be made to read its DEPS file. |
| - gclient_utils.FileRead(os.path.join(self.root_dir, |
| - solution_name, |
| - options.deps_file)).AndReturn(deps) |
| + gclient.gclient_utils.FileRead( |
| + gclient.os.path.join(self.root_dir, solution_name, options.deps_file) |
| + ).AndReturn(deps) |
| # Next we expect an scm to be request for dep src/t but it should |
| # use the url specified in deps and the relative path should now |
| # be relative to the DEPS file. |
| - gclient_scm.CreateSCM( |
| + gclient.gclient_scm.CreateSCM( |
| 'svn://scm.t/trunk', |
| self.root_dir, |
| - os.path.join(solution_name, "src", "t")).AndReturn(scm_wrapper_t) |
| + gclient.os.path.join(solution_name, "src", "t") |
| + ).AndReturn(scm_wrapper_t) |
| scm_wrapper_t.RunCommand('update', options, self.args, []) |
| # After everything is done, an attempt is made to write an entries |
| # file. |
| - gclient_utils.FileWrite( |
| - os.path.join(self.root_dir, options.entries_filename), |
| + gclient.gclient_utils.FileWrite( |
| + gclient.os.path.join(self.root_dir, options.entries_filename), |
| entries_content) |
| self.mox.ReplayAll() |
| @@ -545,37 +544,40 @@ class GClientClassTestCase(GclientTestCase): |
| options = self.Options() |
| - checkout_path = os.path.join(self.root_dir, solution_name) |
| - gclient.os.path.exists(os.path.join(checkout_path, '.git')).AndReturn(False) |
| - gclient.os.path.exists(os.path.join(self.root_dir, 'src/n', '.git') |
| + checkout_path = gclient.os.path.join(self.root_dir, solution_name) |
| + gclient.os.path.exists( |
| + gclient.os.path.join(checkout_path, '.git')).AndReturn(False) |
| + gclient.os.path.exists(gclient.os.path.join(self.root_dir, 'src/n', '.git') |
| ).AndReturn(False) |
| - gclient.os.path.exists(os.path.join(self.root_dir, 'src/t', '.git') |
| + gclient.os.path.exists(gclient.os.path.join(self.root_dir, 'src/t', '.git') |
| ).AndReturn(False) |
| # Expect a check for the entries file and we say there is not one. |
| - gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename) |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, options.entries_filename) |
| ).AndReturn(False) |
| # An scm will be requested for the solution. |
| - gclient_scm.CreateSCM(self.url, self.root_dir, solution_name |
| + gclient.gclient_scm.CreateSCM(self.url, self.root_dir, solution_name |
| ).AndReturn(scm_wrapper_sol) |
| # Then an update will be performed. |
| scm_wrapper_sol.RunCommand('update', options, self.args, []) |
| # Then an attempt will be made to read its DEPS file. |
| - gclient_utils.FileRead(os.path.join(checkout_path, options.deps_file) |
| + gclient.gclient_utils.FileRead( |
| + gclient.os.path.join(checkout_path, options.deps_file) |
| ).AndReturn(deps) |
| # Next we expect an scm to be request for dep src/n even though it does not |
| # exist in the DEPS file. |
| - gclient_scm.CreateSCM('svn://custom.n/trunk', |
| - self.root_dir, |
| - "src/n").AndReturn(scm_wrapper_n) |
| + gclient.gclient_scm.CreateSCM('svn://custom.n/trunk', |
| + self.root_dir, |
| + "src/n").AndReturn(scm_wrapper_n) |
| # Next we expect an scm to be request for dep src/t but it should |
| # use the url specified in custom_deps. |
| - gclient_scm.CreateSCM('svn://custom.t/trunk', |
| - self.root_dir, |
| - "src/t").AndReturn(scm_wrapper_t) |
| + gclient.gclient_scm.CreateSCM('svn://custom.t/trunk', |
| + self.root_dir, |
| + "src/t").AndReturn(scm_wrapper_t) |
| scm_wrapper_n.RunCommand('update', options, self.args, []) |
| scm_wrapper_t.RunCommand('update', options, self.args, []) |
| @@ -584,8 +586,8 @@ class GClientClassTestCase(GclientTestCase): |
| # After everything is done, an attempt is made to write an entries |
| # file. |
| - gclient_utils.FileWrite( |
| - os.path.join(self.root_dir, options.entries_filename), |
| + gclient.gclient_utils.FileWrite( |
| + gclient.os.path.join(self.root_dir, options.entries_filename), |
| entries_content) |
| self.mox.ReplayAll() |
| @@ -633,46 +635,47 @@ class GClientClassTestCase(GclientTestCase): |
| options = self.Options() |
| - gclient.os.path.exists(os.path.join(self.root_dir, name_a, '.git') |
| + gclient.os.path.exists(gclient.os.path.join(self.root_dir, name_a, '.git') |
| ).AndReturn(False) |
| - gclient.os.path.exists(os.path.join(self.root_dir, name_b, '.git') |
| + gclient.os.path.exists(gclient.os.path.join(self.root_dir, name_b, '.git') |
| ).AndReturn(False) |
| - gclient.os.path.exists(os.path.join(self.root_dir, 'src/t', '.git') |
| + gclient.os.path.exists(gclient.os.path.join(self.root_dir, 'src/t', '.git') |
| ).AndReturn(False) |
| # Expect a check for the entries file and we say there is not one. |
| - gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename) |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, options.entries_filename) |
| ).AndReturn(False) |
| # An scm will be requested for the first solution. |
| - gclient_scm.CreateSCM(url_a, self.root_dir, name_a).AndReturn( |
| + gclient.gclient_scm.CreateSCM(url_a, self.root_dir, name_a).AndReturn( |
| scm_wrapper_a) |
| # Then an attempt will be made to read it's DEPS file. |
| - gclient_utils.FileRead( |
| - os.path.join(self.root_dir, name_a, options.deps_file) |
| + gclient.gclient_utils.FileRead( |
| + gclient.os.path.join(self.root_dir, name_a, options.deps_file) |
| ).AndReturn(deps_a) |
| # Then an update will be performed. |
| scm_wrapper_a.RunCommand('update', options, self.args, []) |
| # An scm will be requested for the second solution. |
| - gclient_scm.CreateSCM(url_b, self.root_dir, name_b).AndReturn( |
| + gclient.gclient_scm.CreateSCM(url_b, self.root_dir, name_b).AndReturn( |
| scm_wrapper_b) |
| # Then an attempt will be made to read its DEPS file. |
| - gclient_utils.FileRead( |
| - os.path.join(self.root_dir, name_b, options.deps_file) |
| + gclient.gclient_utils.FileRead( |
| + gclient.os.path.join(self.root_dir, name_b, options.deps_file) |
| ).AndReturn(deps_b) |
| # Then an update will be performed. |
| scm_wrapper_b.RunCommand('update', options, self.args, []) |
| # Finally, an scm is requested for the shared dep. |
| - gclient_scm.CreateSCM('http://svn.t/trunk', self.root_dir, 'src/t' |
| + gclient.gclient_scm.CreateSCM('http://svn.t/trunk', self.root_dir, 'src/t' |
| ).AndReturn(scm_wrapper_dep) |
| # And an update is run on it. |
| scm_wrapper_dep.RunCommand('update', options, self.args, []) |
| # After everything is done, an attempt is made to write an entries file. |
| - gclient_utils.FileWrite( |
| - os.path.join(self.root_dir, options.entries_filename), |
| + gclient.gclient_utils.FileWrite( |
| + gclient.os.path.join(self.root_dir, options.entries_filename), |
| entries_content) |
| self.mox.ReplayAll() |
| @@ -689,24 +692,32 @@ class GClientClassTestCase(GclientTestCase): |
| 'custom_deps': {}, |
| }, ]""" % (name, self.url) |
| - entries_content = ( |
| + # pprint.pformat() is non-deterministic in this case!! |
|
Dirk Pranke
2009/11/10 19:53:38
odd. is that a python bug?
M-A Ruel
2009/11/10 20:07:12
Yes.
|
| + entries_content1 = ( |
| "entries = \\\n" |
| "{ '%s': '%s'}\n" |
| ) % (name, self.url) |
| + entries_content2 = ( |
| + "entries = \\\n" |
| + "{'%s': '%s'}\n" |
| + ) % (name, self.url) |
| + |
| options = self.Options() |
| - gclient.os.path.exists(os.path.join(self.root_dir, name, '.git') |
| + gclient.os.path.exists(gclient.os.path.join(self.root_dir, name, '.git') |
| ).AndReturn(False) |
| - gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename) |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, options.entries_filename) |
| ).AndReturn(False) |
| - gclient_scm.CreateSCM(self.url, self.root_dir, name).AndReturn( |
| - gclient_scm.CreateSCM) |
| - gclient_scm.CreateSCM.RunCommand('update', options, self.args, []) |
| - gclient_utils.FileRead(os.path.join(self.root_dir, name, options.deps_file) |
| + gclient.gclient_scm.CreateSCM(self.url, self.root_dir, name).AndReturn( |
| + gclient.gclient_scm.CreateSCM) |
| + gclient.gclient_scm.CreateSCM.RunCommand('update', options, self.args, []) |
| + gclient.gclient_utils.FileRead( |
| + gclient.os.path.join(self.root_dir, name, options.deps_file) |
| ).AndReturn("Boo = 'a'") |
| - gclient_utils.FileWrite( |
| - os.path.join(self.root_dir, options.entries_filename), |
| - entries_content) |
| + gclient.gclient_utils.FileWrite( |
| + gclient.os.path.join(self.root_dir, options.entries_filename), |
| + IsOneOf((entries_content1, entries_content2))) |
| self.mox.ReplayAll() |
| client = self._gclient_gclient(self.root_dir, options) |
| @@ -777,63 +788,67 @@ deps_os = { |
| # Also, pymox doesn't verify the order of function calling w.r.t. different |
| # mock objects. Pretty lame. So reorder as we wish to make it clearer. |
| - gclient_utils.FileRead( |
| - os.path.join(self.root_dir, 'src', options.deps_file) |
| + gclient.gclient_utils.FileRead( |
| + gclient.os.path.join(self.root_dir, 'src', options.deps_file) |
| ).AndReturn(deps_content) |
| - gclient_utils.FileWrite( |
| - os.path.join(self.root_dir, options.entries_filename), |
| + gclient.gclient_utils.FileWrite( |
| + gclient.os.path.join(self.root_dir, options.entries_filename), |
| entries_content) |
| - gclient.os.path.exists(os.path.join(self.root_dir, 'src', '.git') |
| + gclient.os.path.exists(gclient.os.path.join(self.root_dir, 'src', '.git') |
| ).AndReturn(False) |
| - gclient.os.path.exists(os.path.join(self.root_dir, 'foo/third_party/WebKit', |
| - '.git') |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, 'foo/third_party/WebKit', '.git') |
| ).AndReturn(False) |
| - gclient.os.path.exists(os.path.join(self.root_dir, 'src/third_party/cygwin', |
| - '.git') |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, 'src/third_party/cygwin', '.git') |
| ).AndReturn(False) |
| - gclient.os.path.exists(os.path.join(self.root_dir, |
| - 'src/third_party/python_24', '.git') |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, 'src/third_party/python_24', '.git') |
| ).AndReturn(False) |
| - gclient.os.path.exists(os.path.join(self.root_dir, 'src/breakpad/bar', |
| - '.git') |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, 'src/breakpad/bar', '.git') |
| ).AndReturn(False) |
| - gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename) |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, options.entries_filename) |
| ).AndReturn(False) |
| - gclient_scm.CreateSCM(self.url, self.root_dir, 'src').AndReturn( |
| + gclient.gclient_scm.CreateSCM(self.url, self.root_dir, 'src').AndReturn( |
| scm_wrapper_src) |
| scm_wrapper_src.RunCommand('update', mox.Func(OptIsRev123), self.args, []) |
| - gclient_scm.CreateSCM(self.url, self.root_dir, |
| - None).AndReturn(scm_wrapper_src2) |
| + gclient.gclient_scm.CreateSCM(self.url, self.root_dir, |
| + None).AndReturn(scm_wrapper_src2) |
| scm_wrapper_src2.FullUrlForRelativeUrl('/trunk/deps/third_party/cygwin@3248' |
| ).AndReturn(cygwin_path) |
| - gclient_scm.CreateSCM(self.url, self.root_dir, |
| - None).AndReturn(scm_wrapper_src2) |
| + gclient.gclient_scm.CreateSCM(self.url, self.root_dir, |
| + None).AndReturn(scm_wrapper_src2) |
| scm_wrapper_src2.FullUrlForRelativeUrl('/trunk/deps/third_party/WebKit' |
| ).AndReturn(webkit_path) |
| - gclient_scm.CreateSCM(webkit_path, self.root_dir, |
| - 'foo/third_party/WebKit').AndReturn(scm_wrapper_webkit) |
| + gclient.gclient_scm.CreateSCM( |
| + webkit_path, self.root_dir, 'foo/third_party/WebKit' |
| + ).AndReturn(scm_wrapper_webkit) |
| scm_wrapper_webkit.RunCommand('update', mox.Func(OptIsRev42), self.args, []) |
| - gclient_scm.CreateSCM( |
| + gclient.gclient_scm.CreateSCM( |
| 'http://google-breakpad.googlecode.com/svn/trunk/src@285', |
| self.root_dir, 'src/breakpad/bar').AndReturn(scm_wrapper_breakpad) |
| scm_wrapper_breakpad.RunCommand('update', mox.Func(OptIsRevNone), |
| self.args, []) |
| - gclient_scm.CreateSCM(cygwin_path, self.root_dir, |
| - 'src/third_party/cygwin').AndReturn(scm_wrapper_cygwin) |
| + gclient.gclient_scm.CreateSCM( |
| + cygwin_path, self.root_dir, 'src/third_party/cygwin' |
| + ).AndReturn(scm_wrapper_cygwin) |
| scm_wrapper_cygwin.RunCommand('update', mox.Func(OptIsRev333), self.args, |
| []) |
| - gclient_scm.CreateSCM('svn://random_server:123/trunk/python_24@5580', |
| - self.root_dir, |
| - 'src/third_party/python_24').AndReturn( |
| - scm_wrapper_python) |
| + gclient.gclient_scm.CreateSCM( |
| + 'svn://random_server:123/trunk/python_24@5580', |
| + self.root_dir, |
| + 'src/third_party/python_24' |
| + ).AndReturn(scm_wrapper_python) |
| scm_wrapper_python.RunCommand('update', mox.Func(OptIsRevNone), self.args, |
| []) |
| @@ -864,7 +879,7 @@ deps_os = { |
| exception = "Conflicting revision numbers specified." |
| try: |
| client.RunOnDeps('update', self.args) |
| - except gclient_utils.Error, e: |
| + except gclient.gclient_utils.Error, e: |
| self.assertEquals(e.args[0], exception) |
| else: |
| self.fail('%s not raised' % exception) |
| @@ -898,31 +913,35 @@ deps = { |
| scm_wrapper_src = self.mox.CreateMockAnything() |
| options = self.Options() |
| - gclient_utils.FileRead( |
| - os.path.join(self.root_dir, name, options.deps_file) |
| + gclient.gclient_utils.FileRead( |
| + gclient.os.path.join(self.root_dir, name, options.deps_file) |
| ).AndReturn(deps_content) |
| - gclient_utils.FileWrite( |
| - os.path.join(self.root_dir, options.entries_filename), |
| + gclient.gclient_utils.FileWrite( |
| + gclient.os.path.join(self.root_dir, options.entries_filename), |
| entries_content) |
| - gclient.os.path.exists(os.path.join(self.root_dir, 'foo/third_party/WebKit', |
| - '.git')).AndReturn(False) |
| - gclient.os.path.exists(os.path.join(self.root_dir, name, '.git') |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, 'foo/third_party/WebKit', '.git') |
| ).AndReturn(False) |
| - gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename) |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, name, '.git') |
| ).AndReturn(False) |
| - gclient_scm.CreateSCM(self.url, self.root_dir, name).AndReturn( |
| - gclient_scm.CreateSCM) |
| - gclient_scm.CreateSCM.RunCommand('update', options, self.args, []) |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, options.entries_filename) |
| + ).AndReturn(False) |
| + gclient.gclient_scm.CreateSCM(self.url, self.root_dir, name).AndReturn( |
| + gclient.gclient_scm.CreateSCM) |
| + gclient.gclient_scm.CreateSCM.RunCommand('update', options, self.args, []) |
| - gclient_scm.CreateSCM(self.url, self.root_dir, |
| - None).AndReturn(scm_wrapper_src) |
| + gclient.gclient_scm.CreateSCM(self.url, self.root_dir, None |
| + ).AndReturn(scm_wrapper_src) |
| scm_wrapper_src.FullUrlForRelativeUrl('/trunk/bar/WebKit' |
| ).AndReturn(webkit_path) |
| - gclient_scm.CreateSCM(webkit_path, self.root_dir, |
| - 'foo/third_party/WebKit').AndReturn(gclient_scm.CreateSCM) |
| - gclient_scm.CreateSCM.RunCommand('update', options, self.args, []) |
| + gclient.gclient_scm.CreateSCM( |
| + webkit_path, self.root_dir, 'foo/third_party/WebKit' |
| + ).AndReturn(gclient.gclient_scm.CreateSCM) |
| + gclient.gclient_scm.CreateSCM.RunCommand('update', options, self.args, []) |
| self.mox.ReplayAll() |
| client = self._gclient_gclient(self.root_dir, options) |
| @@ -958,32 +977,34 @@ deps = { |
| scm_wrapper_src = self.mox.CreateMockAnything() |
| options = self.Options() |
| - gclient_utils.FileRead( |
| - os.path.join(self.root_dir, name, options.deps_file) |
| + gclient.gclient_utils.FileRead( |
| + gclient.os.path.join(self.root_dir, name, options.deps_file) |
| ).AndReturn(deps_content) |
| - gclient_utils.FileWrite( |
| - os.path.join(self.root_dir, options.entries_filename), |
| + gclient.gclient_utils.FileWrite( |
| + gclient.os.path.join(self.root_dir, options.entries_filename), |
| entries_content) |
| - gclient.os.path.exists(os.path.join(self.root_dir, 'foo/third_party/WebKit', |
| - '.git') |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, 'foo/third_party/WebKit', '.git') |
| ).AndReturn(False) |
| - gclient.os.path.exists(os.path.join(self.root_dir, name, '.git') |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, name, '.git') |
| ).AndReturn(False) |
| - gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename) |
| + gclient.os.path.exists( |
| + gclient.os.path.join(self.root_dir, options.entries_filename) |
| ).AndReturn(False) |
| - gclient_scm.CreateSCM(self.url, self.root_dir, name).AndReturn( |
| - gclient_scm.CreateSCM) |
| - gclient_scm.CreateSCM.RunCommand('update', options, self.args, []) |
| + gclient.gclient_scm.CreateSCM(self.url, self.root_dir, name).AndReturn( |
| + gclient.gclient_scm.CreateSCM) |
| + gclient.gclient_scm.CreateSCM.RunCommand('update', options, self.args, []) |
| - gclient_scm.CreateSCM(self.url, self.root_dir, |
| + gclient.gclient_scm.CreateSCM(self.url, self.root_dir, |
| None).AndReturn(scm_wrapper_src) |
| scm_wrapper_src.FullUrlForRelativeUrl('/trunk/bar_custom/WebKit' |
| ).AndReturn(webkit_path) |
| - gclient_scm.CreateSCM(webkit_path, self.root_dir, |
| - 'foo/third_party/WebKit').AndReturn(gclient_scm.CreateSCM) |
| - gclient_scm.CreateSCM.RunCommand('update', options, self.args, []) |
| + gclient.gclient_scm.CreateSCM(webkit_path, self.root_dir, |
| + 'foo/third_party/WebKit').AndReturn(gclient.gclient_scm.CreateSCM) |
| + gclient.gclient_scm.CreateSCM.RunCommand('update', options, self.args, []) |
| self.mox.ReplayAll() |
| client = self._gclient_gclient(self.root_dir, options) |
| @@ -1005,12 +1026,12 @@ deps = { |
| }""" |
| options = self.Options() |
| - gclient_utils.FileRead( |
| - os.path.join(self.root_dir, name, options.deps_file) |
| + gclient.gclient_utils.FileRead( |
| + gclient.os.path.join(self.root_dir, name, options.deps_file) |
| ).AndReturn(deps_content) |
| - gclient_scm.CreateSCM(self.url, self.root_dir, name).AndReturn( |
| - gclient_scm.CreateSCM) |
| - gclient_scm.CreateSCM.RunCommand('update', options, self.args, []) |
| + gclient.gclient_scm.CreateSCM(self.url, self.root_dir, name).AndReturn( |
| + gclient.gclient_scm.CreateSCM) |
| + gclient.gclient_scm.CreateSCM.RunCommand('update', options, self.args, []) |
| self.mox.ReplayAll() |
| client = self._gclient_gclient(self.root_dir, options) |
| @@ -1018,7 +1039,7 @@ deps = { |
| exception = "Var is not defined: webkit" |
| try: |
| client.RunOnDeps('update', self.args) |
| - except gclient_utils.Error, e: |
| + except gclient.gclient_utils.Error, e: |
| self.assertEquals(e.args[0], exception) |
| else: |
| self.fail('%s not raised' % exception) |
| @@ -1068,8 +1089,8 @@ deps = { |
| class SubprocessCallAndFilterTestCase(BaseTestCase): |
| def setUp(self): |
| BaseTestCase.setUp(self) |
| - self.mox.StubOutWithMock(gclient_utils, 'subprocess') |
| - self.mox.StubOutWithMock(gclient_scm, 'CaptureSVN') |
| + self.mox.StubOutWithMock(gclient.gclient_utils, 'subprocess') |
| + self.mox.StubOutWithMock(gclient.gclient_scm, 'CaptureSVN') |
| def testSubprocessCallAndFilter(self): |
| command = ['boo', 'foo', 'bar'] |
| @@ -1085,12 +1106,13 @@ class SubprocessCallAndFilterTestCase(BaseTestCase): |
| print("\n________ running 'boo foo bar' in 'bleh'") |
| for i in test_string: |
| gclient.sys.stdout.write(i) |
| - gclient_utils.subprocess.Popen(command, bufsize=0, cwd=in_directory, |
| - shell=(gclient.sys.platform == 'win32'), |
| - stdout=gclient_utils.subprocess.PIPE, |
| - stderr=gclient_utils.subprocess.STDOUT).AndReturn(kid) |
| + gclient.gclient_utils.subprocess.Popen( |
| + command, bufsize=0, cwd=in_directory, |
| + shell=(gclient.sys.platform == 'win32'), |
| + stdout=gclient.gclient_utils.subprocess.PIPE, |
| + stderr=gclient.gclient_utils.subprocess.STDOUT).AndReturn(kid) |
| self.mox.ReplayAll() |
| - compiled_pattern = re.compile(pattern) |
| + compiled_pattern = gclient.re.compile(pattern) |
| line_list = [] |
| capture_list = [] |
| def FilterLines(line): |
| @@ -1098,19 +1120,17 @@ class SubprocessCallAndFilterTestCase(BaseTestCase): |
| match = compiled_pattern.search(line) |
| if match: |
| capture_list.append(match.group(1)) |
| - gclient_utils.SubprocessCallAndFilter(command, in_directory, |
| - True, True, |
| - fail_status, FilterLines) |
| + gclient.gclient_utils.SubprocessCallAndFilter( |
| + command, in_directory, |
| + True, True, |
| + fail_status, FilterLines) |
| self.assertEquals(line_list, ['ahah', 'accb', 'allo', 'addb']) |
| self.assertEquals(capture_list, ['cc', 'dd']) |
| def testCaptureSVNStatus(self): |
| - x = self |
| - def CaptureSVNMock(command, in_directory=None, print_error=True): |
| - x.assertEquals(in_directory, None) |
| - x.assertEquals(print_error, True) |
| - x.assertEquals(['status', '--xml', '.'], command) |
| - return r"""<?xml version="1.0"?> |
| + gclient.gclient_scm.CaptureSVN( |
| + ['status', '--xml', '.'] |
| + ).AndReturn(r"""<?xml version="1.0"?> |
| <status> |
| <target path="."> |
| <entry path="unversionned_file.txt"> |
| @@ -1146,9 +1166,9 @@ class SubprocessCallAndFilterTestCase(BaseTestCase): |
| </entry> |
| </target> |
| </status> |
| -""" |
| - gclient_scm.CaptureSVN = CaptureSVNMock |
| - info = gclient_scm.CaptureSVNStatus('.') |
| +""") |
| + self.mox.ReplayAll() |
| + info = gclient.gclient_scm.CaptureSVNStatus('.') |
| expected = [ |
| ('? ', 'unversionned_file.txt'), |
| ('M ', 'build\\internal\\essential.vsprops'), |
| @@ -1159,23 +1179,22 @@ class SubprocessCallAndFilterTestCase(BaseTestCase): |
| self.assertEquals(sorted(info), sorted(expected)) |
| def testCaptureSVNStatusEmpty(self): |
| - x = self |
| - def CaptureSVNMock(command, in_directory=None, print_error=True): |
| - x.assertEquals(in_directory, None) |
| - x.assertEquals(['status', '--xml'], command) |
| - return r"""<?xml version="1.0"?> |
| + gclient.gclient_scm.CaptureSVN( |
| + ['status', '--xml'] |
| + ).AndReturn(r"""<?xml version="1.0"?> |
| <status> |
| <target |
| path="perf"> |
| </target> |
| </status> |
| -""" |
| - gclient_scm.CaptureSVN = CaptureSVNMock |
| - info = gclient_scm.CaptureSVNStatus(None) |
| +""") |
| + self.mox.ReplayAll() |
| + info = gclient.gclient_scm.CaptureSVNStatus(None) |
| self.assertEquals(info, []) |
| if __name__ == '__main__': |
| + import unittest |
| unittest.main() |
| # vim: ts=2:sw=2:tw=80:et: |