Skip to content
Snippets Groups Projects
Commit a15ad041471e authored by Jeff Forcier's avatar Jeff Forcier
Browse files

Merge branch '1.10'

Conflicts:
	NEWS
Branches
No related tags found
No related merge requests found
...@@ -25,6 +25,12 @@ ...@@ -25,6 +25,12 @@
implementations of all functionality. Thanks to Jason R. Coombs for the implementations of all functionality. Thanks to Jason R. Coombs for the
patch. patch.
v1.10.1 (DD MM YYYY)
--------------------
* #142: (Fabric #811) SFTP put of empty file will still return the attributes
of the put file. Thanks to Jason R. Coombs for the patch.
v1.10.0 (1st Mar 2013) v1.10.0 (1st Mar 2013)
-------------------- --------------------
......
...@@ -575,7 +575,7 @@ ...@@ -575,7 +575,7 @@
break break
finally: finally:
fr.close() fr.close()
if confirm and file_size: if confirm:
s = self.stat(remotepath) s = self.stat(remotepath)
if s.st_size != size: if s.st_size != size:
raise IOError('size mismatch in put! %d != %d' % (s.st_size, size)) raise IOError('size mismatch in put! %d != %d' % (s.st_size, size))
......
...@@ -26,5 +26,4 @@ ...@@ -26,5 +26,4 @@
from __future__ import with_statement from __future__ import with_statement
from binascii import hexlify from binascii import hexlify
import logging
import os import os
...@@ -30,5 +29,4 @@ ...@@ -30,5 +29,4 @@
import os import os
import random import warnings
import struct
import sys import sys
import threading import threading
...@@ -33,4 +31,3 @@ ...@@ -33,4 +31,3 @@
import sys import sys
import threading import threading
import time
import unittest import unittest
...@@ -36,4 +33,5 @@ ...@@ -36,4 +33,5 @@
import unittest import unittest
import StringIO
import paramiko import paramiko
from stub_sftp import StubServer, StubSFTPServer from stub_sftp import StubServer, StubSFTPServer
...@@ -227,7 +225,7 @@ ...@@ -227,7 +225,7 @@
""" """
f = sftp.open(FOLDER + '/first.txt', 'w') f = sftp.open(FOLDER + '/first.txt', 'w')
try: try:
f.write('content!\n'); f.write('content!\n')
f.close() f.close()
sftp.rename(FOLDER + '/first.txt', FOLDER + '/second.txt') sftp.rename(FOLDER + '/first.txt', FOLDER + '/second.txt')
try: try:
...@@ -566,7 +564,6 @@ ...@@ -566,7 +564,6 @@
""" """
verify that get/put work. verify that get/put work.
""" """
import os, warnings
warnings.filterwarnings('ignore', 'tempnam.*') warnings.filterwarnings('ignore', 'tempnam.*')
localname = os.tempnam() localname = os.tempnam()
...@@ -631,7 +628,7 @@ ...@@ -631,7 +628,7 @@
try: try:
f = sftp.open(FOLDER + '/unusual.txt', 'wx') f = sftp.open(FOLDER + '/unusual.txt', 'wx')
self.fail('expected exception') self.fail('expected exception')
except IOError, x: except IOError:
pass pass
finally: finally:
sftp.unlink(FOLDER + '/unusual.txt') sftp.unlink(FOLDER + '/unusual.txt')
...@@ -671,8 +668,8 @@ ...@@ -671,8 +668,8 @@
f.close() f.close()
try: try:
f = sftp.open(FOLDER + '/zero', 'r') f = sftp.open(FOLDER + '/zero', 'r')
data = f.readv([(0, 12)]) f.readv([(0, 12)])
f.close() f.close()
f = sftp.open(FOLDER + '/zero', 'r') f = sftp.open(FOLDER + '/zero', 'r')
f.prefetch() f.prefetch()
...@@ -675,8 +672,8 @@ ...@@ -675,8 +672,8 @@
f.close() f.close()
f = sftp.open(FOLDER + '/zero', 'r') f = sftp.open(FOLDER + '/zero', 'r')
f.prefetch() f.prefetch()
data = f.read(100) f.read(100)
f.close() f.close()
finally: finally:
sftp.unlink(FOLDER + '/zero') sftp.unlink(FOLDER + '/zero')
...@@ -685,7 +682,6 @@ ...@@ -685,7 +682,6 @@
""" """
verify that get/put work without confirmation. verify that get/put work without confirmation.
""" """
import os, warnings
warnings.filterwarnings('ignore', 'tempnam.*') warnings.filterwarnings('ignore', 'tempnam.*')
localname = os.tempnam() localname = os.tempnam()
...@@ -730,3 +726,15 @@ ...@@ -730,3 +726,15 @@
finally: finally:
sftp.remove(FOLDER + '/append.txt') sftp.remove(FOLDER + '/append.txt')
def test_putfo_empty_file(self):
"""
Send an empty file and confirm it is sent.
"""
target = FOLDER + '/empty file.txt'
stream = StringIO.StringIO()
try:
attrs = sftp.putfo(stream, target)
# the returned attributes should not be null
self.assertNotEqual(attrs, None)
finally:
sftp.remove(target)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment