@ -7,16 +7,17 @@
import __builtin__
import unittest
import base64
import hashlib
import zipfile
import json
import os
import shutil
import subprocess
import sys
import base64
import tempfile
import json
import os
import unittest
import urllib2
import zipfile
# Add depot_tools to path
@ -62,8 +63,6 @@ class FakeCall(object):
message = ' Expected: \n args: %s \n kwargs: %s \n ' % ( exp_args , exp_kwargs )
message + = ' Got: \n args: %s \n kwargs: %s \n ' % ( args , kwargs )
raise TestError ( message )
if isinstance ( exp_returns , Exception ) :
raise exp_returns
return exp_returns
@ -72,15 +71,15 @@ class GsutilUnitTests(unittest.TestCase):
self . fake = FakeCall ( )
self . tempdir = tempfile . mkdtemp ( )
self . old_urlopen = getattr ( urllib2 , ' urlopen ' )
self . old_call = getattr ( gsutil , ' call ' )
self . old_call = getattr ( subprocess , ' call ' )
setattr ( urllib2 , ' urlopen ' , self . fake )
setattr ( gsutil , ' call ' , self . fake )
setattr ( subprocess , ' call ' , self . fake )
def tearDown ( self ) :
self . assertEqual ( self . fake . expectations , [ ] )
shutil . rmtree ( self . tempdir )
setattr ( urllib2 , ' urlopen ' , self . old_urlopen )
setattr ( gsutil , ' call ' , self . old_call )
setattr ( subprocess , ' call ' , self . old_call )
def test_download_gsutil ( self ) :
version = ' 4.2 '
@ -126,8 +125,8 @@ class GsutilUnitTests(unittest.TestCase):
os . makedirs ( gsutil_dir )
self . fake . add_expectation (
[ sys . executable , gsutil_bin , ' version ' ] , verbose= False ,
_returns= gsutil . SubprocessError ( ) )
[ sys . executable , gsutil_bin , ' version ' ] , stdout= subprocess . PIPE ,
stderr= subprocess . STDOUT , _returns = 1 )
with open ( gsutil_bin , ' w ' ) as f :
f . write ( ' Foobar ' )
@ -140,8 +139,8 @@ class GsutilUnitTests(unittest.TestCase):
with open ( tempzip , ' rb ' ) as f :
self . fake . add_expectation ( url , _returns = Buffer ( f . read ( ) ) )
self . fake . add_expectation (
[ sys . executable , gsutil_bin , ' version ' ] , verbose= False ,
_returns= gsutil . SubprocessError ( ) )
[ sys . executable , gsutil_bin , ' version ' ] , stdout= subprocess . PIPE ,
stderr= subprocess . STDOUT , _returns = 1 )
# This should delete the old bin and rewrite it with 'Fake gsutil'
self . assertRaises (
@ -160,7 +159,8 @@ class GsutilUnitTests(unittest.TestCase):
# Mock out call().
self . fake . add_expectation (
[ sys . executable , gsutil_bin , ' version ' ] , verbose = False , _returns = True )
[ sys . executable , gsutil_bin , ' version ' ] ,
stdout = subprocess . PIPE , stderr = subprocess . STDOUT , _returns = 0 )
with open ( gsutil_bin , ' w ' ) as f :
f . write ( ' Foobar ' )