diff -r 04cc9c32f3e3 Lib/unittest/mock.py --- a/Lib/unittest/mock.py Thu Jun 12 18:39:42 2014 +0200 +++ b/Lib/unittest/mock.py Thu Jun 12 13:37:29 2014 -0400 @@ -2303,7 +2303,13 @@ yield handle.readline.return_value for line in _data: yield line - + while True: + yield '' + + def _iter_side_effect(): + if handle.__iter__.return_value is not None: + return handle.__iter__.return_value + return _data global file_spec if file_spec is None: @@ -2322,10 +2328,12 @@ handle.read.return_value = None handle.readline.return_value = None handle.readlines.return_value = None + handle.__iter__.return_value = None handle.read.side_effect = _read_side_effect handle.readline.side_effect = _readline_side_effect() handle.readlines.side_effect = _readlines_side_effect + handle.__iter__.side_effect = _iter_side_effect mock.return_value = handle return mock