Exemple #1
0
    def test_simple(self):
        """Ensure the policy returns the highest version across a set of
        packages with the same name."""
        r_candidates = [mkl_10_3_0.id, mkl_11_0_0.id]
        repository = Repository([mkl_10_3_0, mkl_11_0_0])

        pool = Pool()
        pool.add_repository(repository)

        policy = DefaultPolicy()

        candidates = policy.prefered_package_ids(pool, {}, r_candidates)
        self.assertEqual(list(candidates), [mkl_11_0_0.id])
Exemple #2
0
    def test_simple_fulfilled_installed(self):
        """Ensure the policy returns the installed version first if it fulfills
        the requirement, even if higher versions are available."""
        r_candidates = [mkl_10_3_0.id, mkl_11_0_0.id]
        repository = Repository([mkl_10_3_0, mkl_11_0_0])

        pool = Pool()
        pool.add_repository(repository)

        policy = DefaultPolicy()

        candidates = policy.prefered_package_ids(pool,
                                                 {mkl_10_3_0.id: mkl_10_3_0},
                                                 r_candidates)
        self.assertEqual(list(candidates), [mkl_10_3_0.id, mkl_11_0_0.id])
Exemple #3
0
    def test_simple_fulfilled_installed(self):
        """Ensure the policy returns the installed version first if it fulfills
        the requirement, even if higher versions are available."""
        mkl_10_4_0 = P("mkl-10.4.0")
        remote_repository = Repository([self.mkl_10_3_0, self.mkl_11_0_0])
        installed_repository = Repository([mkl_10_4_0])

        pool = Pool([installed_repository, remote_repository])
        policy = DefaultPolicy()

        queue = [p.id for p in [mkl_10_4_0, self.mkl_10_3_0, self.mkl_11_0_0]]

        candidates = policy.select_preferred_packages(pool, {}, queue)
        self.assertEqual(list(candidates), [self.mkl_11_0_0.id])

        candidates = policy.prefered_package_ids(pool, {mkl_10_4_0.id: True}, queue)
        self.assertEqual(list(candidates), [mkl_10_4_0.id, self.mkl_11_0_0.id])
Exemple #4
0
    def test_simple_fulfilled_installed(self):
        """Ensure the policy returns the installed version first if it fulfills
        the requirement, even if higher versions are available."""
        mkl_10_4_0 = P("mkl-10.4.0")
        remote_repository = Repository([self.mkl_10_3_0, self.mkl_11_0_0])
        installed_repository = Repository([mkl_10_4_0])

        pool = Pool([installed_repository, remote_repository])
        policy = DefaultPolicy()

        queue = [p.id for p in [mkl_10_4_0, self.mkl_10_3_0, self.mkl_11_0_0]]

        candidates = policy.select_preferred_packages(pool, {}, queue)
        self.assertEqual(list(candidates), [self.mkl_11_0_0.id])

        candidates = policy.prefered_package_ids(pool, {mkl_10_4_0.id: True},
                                                 queue)
        self.assertEqual(list(candidates), [mkl_10_4_0.id, self.mkl_11_0_0.id])