소스 검색

Fix broken git tests on mac.

Unfortunately there's a bunch of other broken stuff, but it's something :/

R=agable@chromium.org, thakis@chromium.org
BUG=607344

Review-Url: https://codereview.chromium.org/2244023003
iannucci 9 년 전
부모
커밋
e38699bd95
3개의 변경된 파일19개의 추가작업 그리고 12개의 파일을 삭제
  1. 7 5
      git_common.py
  2. 1 1
      testing_support/git_test_utils.py
  3. 11 6
      tests/git_common_test.py

+ 7 - 5
git_common.py

@@ -756,14 +756,16 @@ def get_dirty_files():
 
 
 def is_dirty_git_tree(cmd):
+  w = lambda s: sys.stderr.write(s+"\n")
+
   dirty = get_dirty_files()
   if dirty:
-    print 'Cannot %s with a dirty tree. '\
-          'Commit, freeze or stash your changes first.' % cmd
-    print 'Uncommitted files: (git diff-index --name-status HEAD)'
-    print dirty[:4096]
+    w('Cannot %s with a dirty tree. Commit, freeze or stash your changes first.'
+      % cmd)
+    w('Uncommitted files: (git diff-index --name-status HEAD)')
+    w(dirty[:4096])
     if len(dirty) > 4096: # pragma: no cover
-      print '... (run "git diff-index --name-status HEAD" to see full output).'
+      w('... (run "git diff-index --name-status HEAD" to see full output).')
     return True
   return False
 

+ 1 - 1
testing_support/git_test_utils.py

@@ -283,7 +283,7 @@ class GitRepo(object):
     Args:
       schema - An instance of GitRepoSchema
     """
-    self.repo_path = tempfile.mkdtemp(dir=self.BASE_TEMP_DIR)
+    self.repo_path = os.path.realpath(tempfile.mkdtemp(dir=self.BASE_TEMP_DIR))
     self.commit_map = {}
     self._date = datetime.datetime(1970, 1, 1, tzinfo=UTC)
 

+ 11 - 6
tests/git_common_test.py

@@ -333,7 +333,6 @@ class GitReadOnlyFunctionsTest(git_test_utils.GitRepoReadOnlyTestBase,
 
   def testRepoRoot(self):
     def cd_and_repo_root(path):
-      print(os.getcwd())
       os.chdir(path)
       return self.gc.repo_root()
 
@@ -649,10 +648,18 @@ class GitMutableStructuredTest(git_test_utils.GitRepoReadWriteTestBase,
     ])
 
   def testIsGitTreeDirty(self):
-    self.assertEquals(False, self.repo.run(self.gc.is_dirty_git_tree, 'foo'))
+    retval = []
+    self.repo.capture_stdio(
+      lambda: retval.append(self.repo.run(self.gc.is_dirty_git_tree, 'foo')))
+
+    self.assertEquals(False, retval[0])
     self.repo.open('test.file', 'w').write('test data')
     self.repo.git('add', 'test.file')
-    self.assertEquals(True, self.repo.run(self.gc.is_dirty_git_tree, 'foo'))
+
+    retval = []
+    self.repo.capture_stdio(
+      lambda: retval.append(self.repo.run(self.gc.is_dirty_git_tree, 'foo')))
+    self.assertEquals(True, retval[0])
 
   def testSquashBranch(self):
     self.repo.git('checkout', 'branch_K')
@@ -895,10 +902,8 @@ class GitMakeWorkdir(git_test_utils.GitRepoReadOnlyTestBase, GitCommonTestBase):
   A
   """
 
+  @unittest.skipIf(not hasattr(os, 'symlink'), "OS doesn't support symlink")
   def testMakeWorkdir(self):
-    if not hasattr(os, 'symlink'):
-      return
-
     workdir = os.path.join(self._tempdir, 'workdir')
     self.gc.make_workdir(os.path.join(self.repo.repo_path, '.git'),
                          os.path.join(workdir, '.git'))