From 828ff1a72a85c100cce15a9dd0d8fdcf1a610493 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beyza=20Ermi=C5=9F?= Date: Thu, 10 Jul 2008 12:57:39 +0000 Subject: [PATCH] Archive test case has been added. --- tests/archivetests.py | 52 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 tests/archivetests.py diff --git a/tests/archivetests.py b/tests/archivetests.py new file mode 100644 index 00000000..41dbf60f --- /dev/null +++ b/tests/archivetests.py @@ -0,0 +1,52 @@ +import pisi +import unittest +from pisi import util +from pisi import uri +from pisi import archive +from pisi import sourcearchive +from pisi import fetcher +from pisi.specfile import SpecFile +from os.path import join, exists + +class ArchiveTestCase(unittest.TestCase): + + def testTarUnpack(self): + spec = SpecFile('repos/pardus-2007/system/base/curl/pspec.xml') + targetDir = '/tmp/tests' + archiv = sourcearchive.SourceArchive(spec, targetDir) + archiv.unpack() + assert spec.source.archive.type == 'targz' + + + def testUnpackTarCond(self): + spec = SpecFile('repos/pardus-2007/system/base/curl/pspec.xml') + targetDir = '/tmp' + archiv = sourcearchive.SourceArchive(spec, targetDir) + url = uri.URI(spec.source.archive.uri) + filePath = join(pisi.context.config.archives_dir(), url.filename()) + if util.sha1_file(filePath) != spec.source.archive.sha1sum: + fetch = fetcher.Fetcher(spec.source.archive.uri, targetDir) + fetch.fetch() + assert spec.source.archive.type == 'targz' + + def testZipUnpack(self): + spec = SpecFile('repos/pardus-2007/system/base/openssl/pspec.xml') + targetDir = '/tmp/tests' + archiv = sourcearchive.SourceArchive(spec, targetDir) + archiv.fetch() + archiv.unpack() + assert not exists(targetDir + '/openssl') + + def testMakeZip(self): + spec = SpecFile('repos/pardus-2007/system/base/openssl/pspec.xml') + targetDir = '/tmp/tests' + archiv = sourcearchive.SourceArchive(spec, targetDir) + archiv.fetch(interactive = False) + archiv.unpack(clean_dir = True) + del archiv + + newDir = targetDir + '/newZip' + zip = archive.ArchiveZip(newDir, 'zip', 'w') + sourceDir = '/tmp/pisi-root' + zip.add_to_archive(sourceDir) + zip.close()