You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
#!/usr/bin/env vpython3
 | 
						|
# Copyright 2022 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.
 | 
						|
 | 
						|
import logging
 | 
						|
import os
 | 
						|
import sys
 | 
						|
import unittest
 | 
						|
 | 
						|
if sys.version_info.major == 2:
 | 
						|
  import mock
 | 
						|
else:
 | 
						|
  from unittest import mock
 | 
						|
 | 
						|
DEPOT_TOOLS_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 | 
						|
sys.path.insert(0, DEPOT_TOOLS_ROOT)
 | 
						|
 | 
						|
from testing_support import coverage_utils
 | 
						|
import utils
 | 
						|
 | 
						|
 | 
						|
class GitCacheTest(unittest.TestCase):
 | 
						|
  def setUp(self):
 | 
						|
    pass
 | 
						|
 | 
						|
  @mock.patch('subprocess.check_output', lambda x, **kwargs: b'foo')
 | 
						|
  def testVersionWithGit(self):
 | 
						|
    version = utils.depot_tools_version()
 | 
						|
    self.assertEqual(version, 'git-foo')
 | 
						|
 | 
						|
  @mock.patch('subprocess.check_output')
 | 
						|
  @mock.patch('os.path.getmtime', lambda x: 42)
 | 
						|
  def testVersionWithNoGit(self, mock_subprocess):
 | 
						|
    mock_subprocess.side_effect = Exception
 | 
						|
    version = utils.depot_tools_version()
 | 
						|
    self.assertEqual(version, 'recipes.cfg-42')
 | 
						|
 | 
						|
  @mock.patch('subprocess.check_output')
 | 
						|
  @mock.patch('os.path.getmtime')
 | 
						|
  def testVersionWithNoGit(self, mock_subprocess, mock_getmtime):
 | 
						|
    mock_subprocess.side_effect = Exception
 | 
						|
    mock_getmtime.side_effect = Exception
 | 
						|
    version = utils.depot_tools_version()
 | 
						|
    self.assertEqual(version, 'unknown')
 | 
						|
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
  logging.basicConfig(
 | 
						|
      level=logging.DEBUG if '-v' in sys.argv else logging.ERROR)
 | 
						|
  sys.exit(
 | 
						|
      coverage_utils.covered_main(
 | 
						|
          (os.path.join(DEPOT_TOOLS_ROOT, 'git_cache.py')),
 | 
						|
          required_percentage=0))
 |