def test_mksquashfs_options(self): "Test XarFactory uses mksquashfs option in SquashfsOptions" # Make a boring xar file. srcdir = self.make_test_skeleton() tf = tempfile.NamedTemporaryFile(delete=False) xar = xar_util.XarFactory(srcdir, tf.name, xar_builder.BORING_SHEBANG) xar.squashfs_options.mksquashfs = "bogus_mksquashfs_path" with self.assertRaises(Exception): xar.go()
def _build_staging_dir(self, staging_dir, filename, shebang, xar_header, squashfs_options): """Builds a single XAR.""" self._ensure_frozen() os.chmod(staging_dir.path(), 0o755) xar = xar_util.XarFactory(staging_dir.path(), filename, shebang) if xar_header is not None: xar.xar_header = xar_header.copy() xar.version = self._version xar.version = self._version if self._sort_file: xar.sort_file = self._sort_file.name() xar.squashfs_options = squashfs_options xar.go()
def test_xar_factory(self): "Test XarFactory and XarReader" # Make a boring xar file. srcdir = self.make_test_skeleton() tf = tempfile.NamedTemporaryFile(delete=False) xar = xar_util.XarFactory(srcdir, tf.name, xar_builder.BORING_SHEBANG) xar.squashfs_options.compression_algorithm = "gzip" xar.squashfs_options.block_size = 4096 xar.go() outdir = os.path.join(tempfile.mkdtemp(), "squashfs-root") self._unxar(tf.name, outdir) self.assertDirectoryEqual(srcdir, outdir)
def test_long_header(self): """Test headers longer than 4096 bytes""" # Make a boring xar file. srcdir = self.make_test_skeleton() tf = tempfile.NamedTemporaryFile(delete=False) xar = xar_util.XarFactory(srcdir, tf.name, xar_builder.BORING_SHEBANG) xar.squashfs_options.compression_algorithm = "gzip" xar.squashfs_options.block_size = 4096 xar.xar_header["IGNORED"] = "0" * 5000 xar.go() outdir = os.path.join(tempfile.mkdtemp(), "squashfs-root") self._unxar(tf.name, outdir) self.assertDirectoryEqual(srcdir, outdir)