예제 #1
0
 def test_tar_out(self):
     image = pjoin(self.tmpdir, 'image.img')
     data = self._prepare_data()
     prepare_data_image(image, data, size="20M")
     outdir = pjoin(self.tmpdir, 'outdir')
     os.mkdir(outdir)
     outfile = pjoin(outdir, "out.tar")
     extract_from_image(image, outfile, path='/', use_tar=True)
     assert pexists(outfile)
예제 #2
0
 def test_read_file(self):
     image = pjoin(self.tmpdir, 'image.img')
     data = self._prepare_data()
     prepare_data_image(image, data, size="20M")
     outdir = pjoin(self.tmpdir, 'outdir')
     os.mkdir(outdir)
     extract_from_image(image, outdir, path='/testfile', use_tar=False)
     with open(pjoin(outdir, 'testfile')) as f:
         assert f.read() == 'hi'
예제 #3
0
 def _prepare_base_image(self):
     data = pjoin(self.tmpdir, 'data')
     os.mkdir(data)
     with open(pjoin(data, 'testfile'), 'w') as f:
         f.write('hi')
     image = prepare_data_image(self.base_image, data, size="50M")
     return image
예제 #4
0
 def test_invalid_size(self):
     image = pjoin(self.tmpdir, 'image.img')
     data = self._prepare_data()
     with pytest.raises(subprocess.CalledProcessError):
         prepare_data_image(image, data, size="5gb")
예제 #5
0
 def test_invalid_type(self):
     image = pjoin(self.tmpdir, 'image.img')
     data = self._prepare_data()
     with pytest.raises(subprocess.CalledProcessError):
         prepare_data_image(image, data, type="no_such_fs_type")
예제 #6
0
 def test_exists(self):
     image = pjoin(self.tmpdir, 'image.img')
     data = self._prepare_data()
     prepare_data_image(image, data, size="20M")
     assert pexists(image)