示例#1
0
    def test_construction(self):
        r_provides = ()
        r_id = hashlib.md5(six.b("numpy-1.3.0")).hexdigest()

        package = Package("numpy", V("1.3.0"))
        self.assertEqual(package.provides, r_provides)
        self.assertEqual(package.dependencies, ())
        self.assertEqual(package.id, r_id)

        r_provides = (R("numpy == 1.3.0"),)
        r_id = hashlib.md5(six.b("nomkl_numpy-1.3.0")).hexdigest()

        package = Package("nomkl_numpy", V("1.3.0"), provides=r_provides)
        self.assertEqual(package.provides, r_provides)
        self.assertEqual(package.id, r_id)
示例#2
0
 def from_string(cls, literal_string, pool):
     if literal_string.startswith("-"):
         is_not = True
         _, name, version = literal_string.split("-", 2)
     else:
         is_not = False
         name, version = literal_string.split("-")
     package = Package(name, Version.from_string(version))
     if not pool.has_package(package):
         raise MissingPackageInPool(package)
     if is_not:
         return PackageNot(package.id, pool)
     else:
         return PackageLiteral(package.id, pool)
示例#3
0
    def find_package(self, name, version):
        """Find the package with the given name and version (exact match).

        Parameters
        ----------
        name: str
            Name of the package(s) to look for
        version: str
            Name of the package(s) to look for

        Returns
        -------
        package: Package or None
            The package if found, None otherwise.
        """
        package = Package(name, Version.from_string(version))
        return self._id_to_package.get(package.unique_name, None)
示例#4
0
    def test_provides(self):
        r_package = Package("nomkl_numpy", V("1.6.0"), provides=[R("numpy == 1.6.0")])
        package = Package.from_string("nomkl_numpy-1.6.0; provides (numpy == 1.6.0)")

        self.assertEqual(package, r_package)
示例#5
0
    def test_dependencies(self):
        r_package = Package("numpy", V("1.6.0"), dependencies=[R("mkl >= 10.3.0")])
        package = Package.from_string("numpy-1.6.0; depends (mkl >= 10.3.0)")

        self.assertEqual(package, r_package)
示例#6
0
    def test_simple(self):
        r_package = Package("numpy", V("1.3.0"))

        self.assertEqual(Package.from_string("numpy-1.3.0"), r_package)
        self.assertRaises(ValueError, lambda: Package.from_string("numpy 1.3.0"))
示例#7
0
    def test_repr(self):
        package = Package("numpy", V("1.3.0"))
        self.assertEqual(repr(package), "Package('numpy-1.3.0')")

        package = Package("numpy", V("1.6.0"), dependencies=[R("mkl >= 10.3.0")])
        self.assertEqual(repr(package), "Package('numpy-1.6.0; depends (mkl >= 10.3.0)')")
示例#8
0
 def test_str(self):
     provides = set([R("numpy == 1.3.0")])
     package = Package("nomkl_numpy", V("1.3.0"), provides=provides)
     self.assertEqual(str(package), "nomkl_numpy-1.3.0")
示例#9
0
 def test_unique_name(self):
     package = Package("numpy", V("1.3.0"))
     self.assertEqual(package.unique_name, "numpy-1.3.0")
示例#10
0
import unittest

from depsolver.package \
    import \
        Package
from depsolver.repository \
    import \
        Repository
from depsolver.version \
    import \
        Version

numpy_1_6_1 = Package("numpy", Version.from_string("1.6.1"))
numpy_1_7_0 = Package("numpy", Version.from_string("1.7.0"))

scipy_0_11_0 = Package("scipy", Version.from_string("0.11.0"))


class TestRepository(unittest.TestCase):
    def test_simple_construction(self):
        repo = Repository()
        self.assertEqual(repo.list_packages(), [])

        r_packages = [numpy_1_6_1, numpy_1_7_0, scipy_0_11_0]

        repo = Repository(r_packages)
        packages = set(repo.iter_packages())
        self.assertEqual(packages, set(r_packages))

    def test_has_package(self):
        packages = [numpy_1_6_1, numpy_1_7_0, scipy_0_11_0]
示例#11
0
    import \
        MATCH, MATCH_NAME, MATCH_PROVIDE, Pool
from depsolver.repository \
    import \
        Repository
from depsolver.requirement \
    import \
        Requirement
from depsolver.version \
    import \
        Version

V = Version.from_string
R = Requirement.from_string

mkl_10_1_0 = Package("mkl", V("10.1.0"))
mkl_10_2_0 = Package("mkl", V("10.2.0"))
mkl_10_3_0 = Package("mkl", V("10.3.0"))
mkl_11_0_0 = Package("mkl", V("11.0.0"))

numpy_1_6_0 = Package("numpy", V("1.6.0"), dependencies=[R("mkl")])
numpy_1_6_1 = Package("numpy", V("1.6.1"), dependencies=[R("mkl")])
numpy_1_7_0 = Package("numpy", V("1.7.0"), dependencies=[R("mkl >= 11.0.0")])

nomkl_numpy_1_7_0 = Package("nomkl_numpy",
                            V("1.7.0"),
                            provides=[R("numpy == 1.7.0")])


class TestPool(unittest.TestCase):
    def test_simple(self):