@ -32,7 +32,9 @@ import metrics
# We have to disable monitoring before importing git_cl.
metrics . DISABLE_METRICS_COLLECTION = True
import contextlib
import clang_format
import gclient_utils
import gerrit_util
import git_cl
import git_common
@ -55,26 +57,14 @@ def _constantFn(return_value):
CERR1 = callError ( 1 )
def MakeNamedTemporaryFileMock ( test , expected_content ) :
class NamedTemporaryFileMock ( object ) :
def __init__ ( self , * args , * * kwargs ) :
self . name = ' /tmp/named '
self . expected_content = expected_content . encode ( ' utf-8 ' , ' replace ' )
def __enter__ ( self ) :
return self
def __exit__ ( self , _type , _value , _tb ) :
pass
def write ( self , content ) :
if self . expected_content :
test . assertEqual ( self . expected_content , content )
def close ( self ) :
pass
class TemporaryFileMock ( object ) :
def __init__ ( self ) :
self . suffix = 0
return NamedTemporaryFileMock
@contextlib.contextmanager
def __call__ ( self ) :
self . suffix + = 1
yield ' /tmp/fake-temp ' + str ( self . suffix )
class ChangelistMock ( object ) :
@ -897,8 +887,9 @@ class TestGitCl(unittest.TestCase):
calls + = [
( ( [ ' git ' , ' rev-parse ' , ' HEAD: ' ] , ) , # `HEAD:` means HEAD's tree hash.
' 0123456789abcdef ' ) ,
( ( [ ' FileWrite ' , ' /tmp/fake-temp1 ' , description ] , ) , None ) ,
( ( [ ' git ' , ' commit-tree ' , ' 0123456789abcdef ' , ' -p ' , parent ,
' -F ' , ' /tmp/ named ' ] , ) ,
' -F ' , ' /tmp/ fake-temp1 ' ] , ) ,
ref_to_push ) ,
]
else :
@ -1178,9 +1169,7 @@ class TestGitCl(unittest.TestCase):
change_id = change_id )
if fetched_status != ' ABANDONED ' :
mock . patch (
' tempfile.NamedTemporaryFile ' ,
MakeNamedTemporaryFileMock (
self , expected_content = description ) ) . start ( )
' gclient_utils.temporary_file ' , TemporaryFileMock ( ) ) . start ( )
mock . patch ( ' os.remove ' , return_value = True ) . start ( )
self . calls + = self . _gerrit_upload_calls (
description , reviewers , squash ,