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