| Index: tests/gclient_scm_test.py
 | 
| ===================================================================
 | 
| --- tests/gclient_scm_test.py	(revision 28584)
 | 
| +++ tests/gclient_scm_test.py	(working copy)
 | 
| @@ -378,18 +378,22 @@
 | 
|  reset refs/heads/master
 | 
|  from :3
 | 
|  """
 | 
| -
 | 
|    def Options(self, *args, **kwargs):
 | 
|      return self.OptionsObject(self, *args, **kwargs)
 | 
|  
 | 
|    def CreateGitRepo(self, git_import, path):
 | 
| -    subprocess.Popen(['git', 'init'], stdout=subprocess.PIPE,
 | 
| -                     stderr=subprocess.STDOUT, cwd=path).communicate()
 | 
| +    try:
 | 
| +      subprocess.Popen(['git', 'init'], stdout=subprocess.PIPE,
 | 
| +                       stderr=subprocess.STDOUT, cwd=path).communicate()
 | 
| +    except WindowsError:
 | 
| +      # git is not available, skip this test.
 | 
| +      return False
 | 
|      subprocess.Popen(['git', 'fast-import'], stdin=subprocess.PIPE,
 | 
|                       stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
 | 
|                       cwd=path).communicate(input=git_import)
 | 
|      subprocess.Popen(['git', 'checkout'], stdout=subprocess.PIPE,
 | 
|                       stderr=subprocess.STDOUT, cwd=path).communicate()
 | 
| +    return True
 | 
|  
 | 
|    def GetGitRev(self, path):
 | 
|      return subprocess.Popen(['git', 'rev-parse', 'HEAD'],
 | 
| @@ -404,7 +408,7 @@
 | 
|      self.root_dir = tempfile.mkdtemp()
 | 
|      self.relpath = '.'
 | 
|      self.base_path = os.path.join(self.root_dir, self.relpath)
 | 
| -    self.CreateGitRepo(self.sample_git_import, self.base_path)
 | 
| +    self.enabled = self.CreateGitRepo(self.sample_git_import, self.base_path)
 | 
|  
 | 
|    def tearDown(self):
 | 
|      shutil.rmtree(self.root_dir)
 | 
| @@ -420,6 +424,8 @@
 | 
|      self.compareMembers(gclient_scm.CreateSCM(url=self.url), members)
 | 
|  
 | 
|    def testRevertMissing(self):
 | 
| +    if not self.enabled:
 | 
| +      return
 | 
|      options = self.Options()
 | 
|      file_path = os.path.join(self.base_path, 'a')
 | 
|      os.remove(file_path)
 | 
| @@ -433,6 +439,8 @@
 | 
|      self.assertEquals(file_list, [])
 | 
|  
 | 
|    def testRevertNone(self):
 | 
| +    if not self.enabled:
 | 
| +      return
 | 
|      options = self.Options()
 | 
|      scm = gclient_scm.CreateSCM(url=self.url, root_dir=self.root_dir,
 | 
|                                  relpath=self.relpath)
 | 
| @@ -444,6 +452,8 @@
 | 
|  
 | 
|  
 | 
|    def testRevertModified(self):
 | 
| +    if not self.enabled:
 | 
| +      return
 | 
|      options = self.Options()
 | 
|      file_path = os.path.join(self.base_path, 'a')
 | 
|      open(file_path, 'a').writelines('touched\n')
 | 
| @@ -459,6 +469,8 @@
 | 
|                        '069c602044c5388d2d15c3f875b057c852003458')
 | 
|  
 | 
|    def testRevertNew(self):
 | 
| +    if not self.enabled:
 | 
| +      return
 | 
|      options = self.Options()
 | 
|      file_path = os.path.join(self.base_path, 'c')
 | 
|      f = open(file_path, 'w')
 | 
| @@ -478,6 +490,8 @@
 | 
|                        '069c602044c5388d2d15c3f875b057c852003458')
 | 
|  
 | 
|    def testStatusNew(self):
 | 
| +    if not self.enabled:
 | 
| +      return
 | 
|      options = self.Options()
 | 
|      file_path = os.path.join(self.base_path, 'a')
 | 
|      open(file_path, 'a').writelines('touched\n')
 | 
| @@ -488,6 +502,8 @@
 | 
|      self.assertEquals(file_list, [file_path])
 | 
|  
 | 
|    def testStatus2New(self):
 | 
| +    if not self.enabled:
 | 
| +      return
 | 
|      options = self.Options()
 | 
|      expected_file_list = []
 | 
|      for f in ['a', 'b']:
 | 
| @@ -502,6 +518,8 @@
 | 
|      self.assertEquals(sorted(file_list), expected_file_list)
 | 
|  
 | 
|    def testUpdateCheckout(self):
 | 
| +    if not self.enabled:
 | 
| +      return
 | 
|      options = self.Options(verbose=True)
 | 
|      root_dir = tempfile.mkdtemp()
 | 
|      relpath = 'foo'
 | 
| @@ -520,6 +538,8 @@
 | 
|        shutil.rmtree(root_dir)
 | 
|  
 | 
|    def testUpdateUpdate(self):
 | 
| +    if not self.enabled:
 | 
| +      return
 | 
|      options = self.Options()
 | 
|      expected_file_list = [os.path.join(self.base_path, x) for x in ['a', 'b']]
 | 
|      scm = gclient_scm.CreateSCM(url=self.url, root_dir=self.root_dir,
 | 
| 
 |