Esempio n. 1
0
 def test_reconnect_drive(self):
      blocks = 10
      drive_name = 'driveC.txt'
      drive = Drive.format(drive_name, blocks)
      drive.disconnect()
      with self.assertRaises(IOError):
          Drive.reconnect('badname')
      drive = Drive.reconnect(drive_name)
      self.assertEqual(blocks * Drive.BLK_SIZE, drive.num_bytes())
      name = b'reconnect volume'
      volume = Volume.format(drive, name)
      volume.unmount()
      with self.assertRaises(IOError):
          Volume.mount('driveZ')
      volume = Volume.mount(drive_name)
      self.assertEqual(1, volume.volume_data_blocks())
      self.assertEqual(name, volume.name())
      self.assertEqual(blocks, volume.size())
      self.assertEqual(b'x--------x', volume.bitmap())
      self.assertEqual(9, volume.root_index())
      volume.unmount()
Esempio n. 2
0
 def test_reconnect_drive_with_files(self):
     drive_name = 'driveF.txt'
     volume = Volume.format(Drive.format(drive_name, 12), b'reconnect with files volume')
     filenames = [b'file1', b'file2', b'file3', b'file4']
     files = [volume.open(name) for name in filenames]
     for i, file in enumerate(files):
         file.write(0, bytes(str(i).encode()) * 64)
     files[0].write(files[0].size(), b'a')
     volume.unmount()
     volume = Volume.mount(drive_name)
     file4 = volume.open(b'file4')
     self.assertEqual(b'3333', file4.read(0, 4))
     file1 = volume.open(b'file1')
     self.assertEqual(65, file1.size())
     self.assertEqual(b'0a', file1.read(63, 2))
     volume.unmount()
 def test_reconnect_disk_with_files(self):
     drive_name = 'driveL.txt'
     volume = Volume.format(Drive.format(drive_name, 500), b'reconnect with files volume')
     files = []
     for i in range(100):
         name = 'file{:02}'.format(i).encode()
         files.append(volume.open(name))
     for i,file in enumerate(files):
         file.write(0, str(i).encode() * 64)
     files[99].write(files[99].size(), b'a')
     volume.unmount()
     volume = None
     volume = Volume.mount(drive_name)
     file4 = volume.open(b'file04')
     self.assertEqual(b'4444', file4.read(0, 4))
     file99 = volume.open(b'file99')
     self.assertEqual(129, file99.size())
     self.assertEqual(b'9a', file99.read(file99.size() - 2, 2))
     volume.unmount()