def test_double_requirements_repo(self): # double requirements line # pikaur -Si --aur | grep -e \^name -e \^depends | grep -E "(>.*<|<.*>)" -B 1 # with doubled repo dep pkg_name = 'xfe' fake_pikaur(f'-S {pkg_name}') self.assertInstalled(pkg_name)
def test_explicit_pkgs_not_becoming_deps(self): """ #123 AUR dep which was previously explicitly installed gets incorrectly marked as a dependency """ from pikaur.pacman import PackageDB aur_pkg_name = 'nqp' explicitly_installed_dep_name = 'moarvm' self.remove_if_installed(aur_pkg_name, explicitly_installed_dep_name) explicitly_installed_dep_old_version = self.downgrade_aur_pkg( explicitly_installed_dep_name, fake_makepkg=True) self.assertInstalled(explicitly_installed_dep_name) self.assertEqual( PackageDB.get_local_dict()[explicitly_installed_dep_name].reason, 0) fake_pikaur(f'-S {aur_pkg_name}') self.assertInstalled(aur_pkg_name) self.assertInstalled(explicitly_installed_dep_name) self.assertNotEqual( PackageDB.get_local_dict()[explicitly_installed_dep_name].version, explicitly_installed_dep_old_version) self.assertEqual( PackageDB.get_local_dict()[explicitly_installed_dep_name].reason, 0)
def test_split_pkgs_aur_deps(self): # split aur package with deps from aur (too long to build so use fake makepkg) fake_pikaur('-S zfs-dkms') self.assertInstalled('zfs-dkms') self.assertInstalled('zfs-utils') self.assertInstalled('spl-dkms') self.assertInstalled('spl-utils')
def test_split_packages_2(self): # Split packages 2: libc++ fake_pikaur('-S libc++ --mflags=--skippgpcheck,--noextract') self.assertInstalled('libc++') # Split packages 2: libc++abi (installing already built package) pikaur('-S libc++abi') self.assertInstalled('libc++abi')
def test_double_requirements_aur(self): # with doubled aur dep # python-xdis>=5.0.4, python-xdis<5.1.0 pkg_name = 'python-uncompyle6' fake_pikaur(f'-S {pkg_name}') # pikaur(f'-S {pkg_name}') self.assertInstalled(pkg_name)
def test_version_matcher_on_pkg_install(self): """ https://github.com/actionless/pikaur/issues/474 """ aur_pkg_name = 'inxi' self.remove_if_installed(aur_pkg_name) fake_pikaur(f'-S {aur_pkg_name}>=99.9.9.9') self.assertNotInstalled(aur_pkg_name) fake_pikaur(f'-S {aur_pkg_name}>=1.0') self.assertInstalled(aur_pkg_name)
def test_aur_rpc_didnt_fully_parsed_srcinfo_2(self): """ Similar situation as with mongodb-bin above but the opposite """ pkg_name = 'guitar-pro' correct_arch_dep_name = 'lib32-portaudio' self.remove_if_installed(pkg_name, correct_arch_dep_name) fake_pikaur(f'-S {pkg_name}') self.assertInstalled(pkg_name) self.assertInstalled(correct_arch_dep_name)
def test_aur_rpc_didnt_fully_parsed_srcinfo(self): """ AUR RPC doesn't preserve architecture information: https://aur.archlinux.org/rpc/?v=5&type=info&arg[]=mongodb-bin the dependencies should be recomputed after cloning AUR repos see #427 """ self.remove_if_installed('mongodb-bin', 'libcurl-openssl-1.0') fake_pikaur('-S mongodb-bin') self.assertInstalled('mongodb-bin') self.assertNotInstalled('libcurl-openssl-1.0')
def test_print_commands_and_needed(self): """ test what --print--commands option not fails """ self.assertEqual( fake_pikaur('-S inxi nano --print-commands').returncode, 0)
def test_aur_pkg_with_versioned_virtual_deps(self): # depend on versioned requirement provided by few pkgs # 'minecraft-launcher', # too many deps to download pkg_name = 'jetbrains-toolbox' fake_pikaur(f'-S {pkg_name}') self.assertInstalled(pkg_name)
def test_double_requirements_aur(self): pkg_name = 'python2-uncompyle6' # with doubled aur dep fake_pikaur(f'-S {pkg_name}') self.assertInstalled(pkg_name)
def test_split_packages_1(self): # Split packages 1 fake_pikaur('-S clion') self.assertInstalled('clion')