Revision 1d39e245
b/lib/utils/io.py | ||
---|---|---|
135 | 135 |
if callable(prewrite): |
136 | 136 |
prewrite(fd) |
137 | 137 |
if data is not None: |
138 |
if isinstance(data, unicode): |
|
139 |
data = data.encode() |
|
140 |
assert isinstance(data, str) |
|
138 | 141 |
to_write = len(data) |
139 | 142 |
offset = 0 |
140 | 143 |
while offset < to_write: |
141 | 144 |
written = os.write(fd, buffer(data, offset)) |
142 | 145 |
assert written >= 0 |
146 |
assert written <= to_write - offset |
|
143 | 147 |
offset += written |
144 | 148 |
assert offset == to_write |
145 | 149 |
else: |
b/test/ganeti.utils.io_unittest.py | ||
---|---|---|
258 | 258 |
utils.WriteFile(self.tfile.name, data=data) |
259 | 259 |
self.assertEqual(utils.ReadFile(self.tfile.name), data) |
260 | 260 |
|
261 |
def testWriteSimpleUnicode(self): |
|
262 |
data = u"abc" |
|
263 |
utils.WriteFile(self.tfile.name, data=data) |
|
264 |
self.assertEqual(utils.ReadFile(self.tfile.name), data) |
|
265 |
|
|
261 | 266 |
def testErrors(self): |
262 | 267 |
self.assertRaises(errors.ProgrammerError, utils.WriteFile, |
263 | 268 |
self.tfile.name, data="test", fn=lambda fd: None) |
Also available in: Unified diff