def _archive_create (self, filename, topack, kwargs): """Create archive from filename.""" # create a temporary directory for creation tmpdir = patoolib.util.tmpdir(dir=basedir) archive = os.path.join(tmpdir, filename) os.chdir(tmpdir) try: patoolib._handle_archive(archive, 'create', topack, **kwargs) self.assertTrue(os.path.isfile(archive)) # test the created archive command = 'test' program = self.program # special case for programs that cannot test what they create if self.program in ('compress', 'py_gzip'): program = 'gzip' elif self.program == 'py_bz2': program = 'bzip2' elif self.program == 'zip': program = 'unzip' elif self.program == 'rzip': program = 'py_echo' command = 'list' patoolib._handle_archive(archive, command, program=program) finally: os.chdir(basedir) shutil.rmtree(tmpdir)
def archive_extract (self, filename): """Test archive extraction.""" archive = os.path.join(datadir, filename) # create a temporary directory for extraction tmpdir = patoolib.util.tmpdir(dir=basedir) try: olddir = os.getcwd() except OSError: olddir = None os.chdir(tmpdir) # archive name relative to tmpdir relarchive = os.path.join("..", archive[len(basedir)+1:]) try: patoolib._handle_archive(archive, 'extract', program=self.program) patoolib._handle_archive(relarchive, 'extract', program=self.program, verbose=True) finally: if olddir: os.chdir(olddir) shutil.rmtree(tmpdir)
def archive_test (self, filename): """Test archive testing.""" archive = os.path.join(datadir, filename) patoolib._handle_archive(archive, 'test', program=self.program) patoolib._handle_archive(archive, 'test', program=self.program, verbose=True)