| Index: tests/gclient_scm_test.py
|
| diff --git a/tests/gclient_scm_test.py b/tests/gclient_scm_test.py
|
| index 00ae0d8c667fa4df6cb744ae73ba2ef312a6333a..b864a85100209d3fe36895a1e97b76eb85a745f6 100755
|
| --- a/tests/gclient_scm_test.py
|
| +++ b/tests/gclient_scm_test.py
|
| @@ -18,6 +18,7 @@ import __builtin__
|
| # Fixes include path.
|
| from super_mox import mox, StdoutCheck, TestCaseUtils, SuperMoxTestBase
|
|
|
| +import logging
|
| import sys
|
| import gclient_scm
|
|
|
| @@ -737,12 +738,25 @@ from :3
|
| '069c602044c5388d2d15c3f875b057c852003458')
|
| finally:
|
| rmtree(root_dir)
|
| - self.checkstdout(
|
| - ('\n_____ foo at refs/heads/master\n\n'
|
| - '________ running \'git clone -b master --verbose %s %s\' in \'%s\'\n'
|
| - 'Initialized empty Git repository in %s\n') %
|
| - (join(self.root_dir, '.', '.git'), join(root_dir, 'foo'), root_dir,
|
| - join(gclient_scm.os.path.realpath(root_dir), 'foo', '.git') + '/'))
|
| + msg1 = (
|
| + "\n_____ foo at refs/heads/master\n\n"
|
| + "________ running 'git clone -b master --verbose %s %s' in '%s'\n"
|
| + "Initialized empty Git repository in %s\n") % (
|
| + join(self.root_dir, '.', '.git'),
|
| + join(root_dir, 'foo'),
|
| + root_dir,
|
| + join(gclient_scm.os.path.realpath(root_dir), 'foo', '.git') + '/')
|
| + msg2 = (
|
| + "\n_____ foo at refs/heads/master\n\n"
|
| + "________ running 'git clone -b master --verbose %s %s' in '%s'\n"
|
| + "Cloning into %s...\ndone.\n") % (
|
| + join(self.root_dir, '.', '.git'),
|
| + join(root_dir, 'foo'),
|
| + root_dir,
|
| + join(gclient_scm.os.path.realpath(root_dir), 'foo'))
|
| + out = sys.stdout.getvalue()
|
| + sys.stdout.close()
|
| + self.assertTrue(out in (msg1, msg2), (out, msg1, msg2))
|
|
|
| def testUpdateUpdate(self):
|
| if not self.enabled:
|
| @@ -769,12 +783,17 @@ from :3
|
| relpath=self.relpath)
|
| file_path = join(self.base_path, 'b')
|
| open(file_path, 'w').writelines('conflict\n')
|
| - exception = (
|
| - "error: Your local changes to 'b' would be overwritten by merge. "
|
| - "Aborting.\n"
|
| - "Please, commit your changes or stash them before you can merge.\n")
|
| - self.assertRaisesError(exception, scm.update, options, (), [])
|
| - self.checkstdout('\n_____ . at refs/heads/master\n')
|
| + try:
|
| + scm.update(options, (), [])
|
| + self.fail()
|
| + except gclient_scm.gclient_utils.CheckCallError:
|
| + # The exact exception text varies across git versions so it's not worth
|
| + # verifying it. It's fine as long as it throws.
|
| + pass
|
| + # Manually flush stdout since we can't verify it's content accurately across
|
| + # git versions.
|
| + sys.stdout.getvalue()
|
| + sys.stdout.close()
|
|
|
| def testUpdateConflict(self):
|
| if not self.enabled:
|
| @@ -833,6 +852,11 @@ from :3
|
|
|
|
|
| if __name__ == '__main__':
|
| + if '-v' in sys.argv:
|
| + logging.basicConfig(
|
| + level=logging.DEBUG,
|
| + format='%(asctime).19s %(levelname)s %(filename)s:'
|
| + '%(lineno)s %(message)s')
|
| unittest.main()
|
|
|
| # vim: ts=2:sw=2:tw=80:et:
|
|
|