#!/usr/bin/env python2.4
from basetest import BaseTest
import sys, tempfile, os, shutil
import unittest, logging
sys.path.insert(0, '..')
from zeroinstall.injector import distro, model
class TestDistro(BaseTest):
def setUp(self):
BaseTest.setUp(self)
self.feed = model.Interface('http://example.com/feed.xml')
def tearDown(self):
BaseTest.tearDown(self)
def factory(self, id):
return self.feed.get_impl(id)
def testDefault(self):
host = distro.Distribution()
host.get_package_info('gimp', self.factory)
self.assertEquals(self.feed.implementations, {})
def testDebian(self):
host = distro.host_distribution
self.assertEquals(2, len(host.versions))
host.get_package_info('gimp', self.factory)
self.assertEquals({}, self.feed.implementations)
host.get_package_info('python-bittorrent', self.factory)
self.assertEquals(1, len(self.feed.implementations))
bittorrent = self.feed.implementations['package:deb:python-bittorrent:3.4.2-10']
self.assertEquals('3.4.2-10', bittorrent.get_version())
host.get_package_info('libxcomposite-dev', self.factory)
self.assertEquals(2, len(self.feed.implementations))
libxcomposite = self.feed.implementations['package:deb:libxcomposite-dev:0.3.1-1']
self.assertEquals('0.3.1-1', libxcomposite.get_version())
def testCleanVersion(self):
self.assertEquals('1', distro.try_cleanup_distro_version('1:0.3.1-1'))
self.assertEquals('0.3.1-1', distro.try_cleanup_distro_version('0.3.1-1ubuntu0'))
suite = unittest.makeSuite(TestDistro)
if __name__ == '__main__':
sys.argv.append('-v')
unittest.main()
syntax highlighted by Code2HTML, v. 0.9.1