Merge branch '1.8'

This commit is contained in:
Jeff Forcier 2012-10-15 13:33:16 -07:00
commit 786920a320
6 changed files with 28 additions and 23 deletions

9
NEWS
View File

@ -19,6 +19,15 @@ v1.9.0 (DD MM YYYY)
v1.8.1 (DD MM YYYY)
-------------------
* #90: Ensure that callbacks handed to `SFTPClient.get()` always fire at least
once, even for zero-length files downloaded. Thanks to Github user `@enB` for
the catch.
* #85: Paramiko's test suite overrides
`unittest.TestCase.assertTrue/assertFalse` to provide these modern assertions
to Python 2.2/2.3, which lacked them. However on newer Pythons such as 2.7,
this now causes deprecation warnings. The overrides have been patched to only
execute when necessary. Thanks to `@Arfrever` for catch & patch.
v1.8.0 (3rd Oct 2012)
---------------------

View File

@ -612,12 +612,12 @@ class SFTPClient (BaseSFTP):
size = 0
while True:
data = fr.read(32768)
if len(data) == 0:
break
fl.write(data)
size += len(data)
if callback is not None:
callback(size, file_size)
if len(data) == 0:
break
finally:
fl.close()
finally:

View File

@ -26,6 +26,8 @@ import unittest
from paramiko.buffered_pipe import BufferedPipe, PipeTimeout
from paramiko import pipe
from util import ParamikoTest
def delay_thread(pipe):
pipe.feed('a')
@ -39,11 +41,7 @@ def close_thread(pipe):
pipe.close()
class BufferedPipeTest (unittest.TestCase):
assertTrue = unittest.TestCase.failUnless # for Python 2.3 and below
assertFalse = unittest.TestCase.failIf # for Python 2.3 and below
class BufferedPipeTest(ParamikoTest):
def test_1_buffered_pipe(self):
p = BufferedPipe()
self.assert_(not p.read_ready())

View File

@ -36,6 +36,7 @@ from paramiko import OPEN_SUCCEEDED, OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
from paramiko.common import MSG_KEXINIT, MSG_CHANNEL_WINDOW_ADJUST
from paramiko.message import Message
from loop import LoopSocket
from util import ParamikoTest
LONG_BANNER = """\
@ -105,11 +106,7 @@ class NullServer (ServerInterface):
return OPEN_SUCCEEDED
class TransportTest (unittest.TestCase):
assertTrue = unittest.TestCase.failUnless # for Python 2.3 and below
assertFalse = unittest.TestCase.failIf # for Python 2.3 and below
class TransportTest(ParamikoTest):
def setUp(self):
self.socks = LoopSocket()
self.sockc = LoopSocket()

View File

@ -28,6 +28,7 @@ import unittest
from Crypto.Hash import SHA
import paramiko.util
from util import ParamikoTest
test_config_file = """\
Host *
@ -58,17 +59,7 @@ BGQ3GQ/Fc7SX6gkpXkwcZryoi4kNFhHu5LvHcZPdxXV1D+uTMfGS1eyd2Yz/DoNWXNAl8TI0cAsW\
from paramiko import *
class UtilTest (unittest.TestCase):
assertTrue = unittest.TestCase.failUnless # for Python 2.3 and below
assertFalse = unittest.TestCase.failIf # for Python 2.3 and below
def setUp(self):
pass
def tearDown(self):
pass
class UtilTest(ParamikoTest):
def test_1_import(self):
"""
verify that all the classes can be imported from paramiko.

10
tests/util.py Normal file
View File

@ -0,0 +1,10 @@
import unittest
class ParamikoTest(unittest.TestCase):
# for Python 2.3 and below
if not hasattr(unittest.TestCase, 'assertTrue'):
assertTrue = unittest.TestCase.failUnless
if not hasattr(unittest.TestCase, 'assertFalse'):
assertFalse = unittest.TestCase.failIf