Exemplo n.º 1
0
    def test_write(self):
        raw = RawDirect(self.file)
        raw.write('A' * 512)
        raw.close()

        with open(self.file) as fd:
            self.assertEquals(fd.read(512), 'A' * 512)
Exemplo n.º 2
0
 def test_tell(self):
     raw = RawDirect(self.file)
     raw.write('A' * 512)
     self.assertEquals(raw.tell(), 512)
     raw.write('B' * 512)
     self.assertEquals(raw.tell(), 1024)
     raw.seek(0)
     self.assertEquals(raw.read(512), ('A' * 512))
     self.assertEquals(raw.read(512), ('B' * 512))
     self.assertEquals(raw.tell(), 1024)
Exemplo n.º 3
0
 def test_write_less_than_page_size(self):
     raw = RawDirect(self.file)
     # Write only 10 bytes
     self.assertRaises(OSError, raw.write, ('G' * 10))
     # Write 512
     self.assertEquals(raw.write('A' * 512), 512)
     # Write 1024
     self.assertEquals(raw.write('B' * 1024), 1024)
     # Ensure the data is there
     raw.seek(0)
     self.assertEquals(raw.read(512), 'A' * 512)
     self.assertEquals(raw.read(1024), 'B' * 1024)
     raw.close()
Exemplo n.º 4
0
    def test_write_past_eof(self):
        # Create a sparse file that is less than the block size
        fd, file = tempfile.mkstemp(dir='/tmp')
        os.ftruncate(fd, 511)
        os.close(fd)
        # Should be 511 in size
        self.assertEquals(os.stat(file).st_size, 511)

        raw = RawDirect(file)
        # the write should succeed
        self.assertEquals(raw.write('A' * 512), 512)
        raw.close()

        # writting past the end should grow the size of the file
        self.assertEquals(os.stat(file).st_size, 512)