예제 #1
0
 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)
예제 #2
0
    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)
예제 #3
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')
예제 #4
0
    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')
예제 #5
0
    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)
예제 #6
0
 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)
예제 #7
0
 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)
예제 #8
0
    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')
예제 #9
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)
예제 #10
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)
예제 #11
0
 def test_double_requirements_aur(self):
     pkg_name = 'python2-uncompyle6'  # with doubled aur dep
     fake_pikaur(f'-S {pkg_name}')
     self.assertInstalled(pkg_name)
예제 #12
0
 def test_split_packages_1(self):
     # Split packages 1
     fake_pikaur('-S clion')
     self.assertInstalled('clion')