def test_installed_first(self): """ Test installed version come first, even before higher version. """ packages = [self.mkl_10_3_0, self.mkl_10_4_0] installed_packages = [P("mkl-10.4.0")] repository = Repository(packages) installed_repository = Repository(installed_packages) pool = Pool([repository, installed_repository]) policy = DefaultPolicy() installed_map = OrderedDict() for p in installed_packages: installed_map[p.id] = p package_queues = policy._compute_prefered_packages_installed_first( pool, installed_map, [p.id for p in packages + installed_packages]) r_package_queues = OrderedDict() r_package_queues[six.u("mkl")] = collections.deque( p.id for p in installed_packages + packages) self.assertEqual(r_package_queues, package_queues)
def test_installed_first(self): """ Test installed version come first, even before higher version. """ packages = [self.mkl_10_3_0, self.mkl_10_4_0] installed_packages = [P("mkl-10.4.0")] repository = Repository(packages) installed_repository = Repository(installed_packages) pool = Pool([repository, installed_repository]) policy = DefaultPolicy() installed_map = OrderedDict() for p in installed_packages: installed_map[p.id] = p package_queues = policy._compute_prefered_packages_installed_first( pool, installed_map, [p.id for p in packages + installed_packages]) r_package_queues = OrderedDict() r_package_queues[six.u("mkl")] = collections.deque(p.id for p in installed_packages + packages) self.assertEqual(r_package_queues, package_queues)
def test_multiple_providers(self): """Test package queues with different packages providing the same package.""" packages = [self.numpy_1_6_0, self.numpy_1_6_1, self.numpy_1_7_1, self.nomkl_numpy_1_6_0, self.nomkl_numpy_1_6_1, self.nomkl_numpy_1_7_1] repository = Repository(packages) pool = Pool([repository]) policy = DefaultPolicy() package_queues = policy._compute_prefered_packages_installed_first( pool, {}, [p.id for p in packages]) r_package_queues = OrderedDict() r_package_queues[six.u("numpy")] = collections.deque([ self.numpy_1_6_0.id, self.numpy_1_6_1.id, self.numpy_1_7_1.id]) r_package_queues[six.u("nomkl_numpy")] = collections.deque([ self.nomkl_numpy_1_6_0.id, self.nomkl_numpy_1_6_1.id, self.nomkl_numpy_1_7_1.id]) self.assertEqual(r_package_queues, package_queues)
def test_multiple_providers(self): """Test package queues with different packages providing the same package.""" packages = [ self.numpy_1_6_0, self.numpy_1_6_1, self.numpy_1_7_1, self.nomkl_numpy_1_6_0, self.nomkl_numpy_1_6_1, self.nomkl_numpy_1_7_1 ] repository = Repository(packages) pool = Pool([repository]) policy = DefaultPolicy() package_queues = policy._compute_prefered_packages_installed_first( pool, {}, [p.id for p in packages]) r_package_queues = OrderedDict() r_package_queues[six.u("numpy")] = collections.deque( [self.numpy_1_6_0.id, self.numpy_1_6_1.id, self.numpy_1_7_1.id]) r_package_queues[six.u("nomkl_numpy")] = collections.deque([ self.nomkl_numpy_1_6_0.id, self.nomkl_numpy_1_6_1.id, self.nomkl_numpy_1_7_1.id ]) self.assertEqual(r_package_queues, package_queues)