Archive test case has been added.

This commit is contained in:
Beyza Ermiş
2008-07-10 12:57:39 +00:00
parent d0693a007d
commit 828ff1a72a
+52
View File
@@ -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()