예제 #1
0
 def test_new_nouse(self):
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', iuse=['static'])))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(),
         '  ', Color('fg', 'green'), Bold(), 'N', Reset(), '     ] ',
         Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6', Reset(),
         ' USE="', Color('fg', 'blue'), Bold(), '-static', Reset(), '"')
예제 #2
0
 def test_reinstall(self):
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', repo=self.repo1),
         FakeMutatedPkg('app-arch/bzip2-1.0.3-r6', repo=self.repo1)))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(),
         '   ', Color('fg', 'yellow'), Bold(), 'R', Reset(), '    ] ',
         Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6%s' % self.repo_id(self.repo1), Reset())
예제 #3
0
 def test_end(self):
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', repo=self.repo1)))
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', repo=self.repo2)))
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', repo=self.repo3)))
     self.fakeout.resetstream()
     self.formatter.end()
     self.assertOut('\nTotal: 3 packages (3 new)\n\n',
                    ' ',
                    Color('fg', 'cyan'),
                    '[1]',
                    Reset(),
                    ' gentoo (/var/gentoo/repos/gentoo)\n',
                    ' ',
                    Color('fg', 'cyan'),
                    '[2]',
                    Reset(),
                    ' repo2 (/var/gentoo/repos/repo2)\n',
                    ' ',
                    Color('fg', 'cyan'),
                    '[3]',
                    Reset(),
                    ' /var/gentoo/repos/repo3\n',
                    suffix=[''])
예제 #4
0
 def test_iuse_defaults(self):
     self.formatter.format(
         FakeOp(self.FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', eapi='1', iuse=['+static', '-junk'], use=['static']),
         FakeMutatedPkg('app-arch/bzip2-1.0.3-r6')))
     self.assertOut("* ", Color('fg', 'blue'), "app-arch/bzip2", "-1.0.3-r6", "::gentoo ",
         Color('fg', 'blue'), "{:0} ", Color('fg', 'yellow'), "[R] ",
         Color('fg', 'red'), "-junk ", Color('fg', 'green'), "static")
예제 #5
0
 def test_multiuse(self):
     self.formatter.format(
         FakeOp(self.FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', iuse=['static', 'bootstrap'], use=['static']),
         FakeMutatedPkg('app-arch/bzip2-1.0.3-r6')))
     self.assertOut("* ", Color('fg', 'blue'), "app-arch/bzip2", "-1.0.3-r6", "::gentoo ",
         Color('fg', 'blue'), "{:0} ", Color('fg', 'yellow'), "[R] ",
         Color('fg', 'red'), "-bootstrap ", Color('fg', 'green'), "static")
예제 #6
0
 def test_install_symbol_masked(self):
     self.formatter.format(
        FakeOp(FakeEbuildSrc('app-arch/bzip2-2.1', repo=self.repo1)))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(),
        '  ', Color('fg', 'green'), Bold(), 'N', Reset(), '    ',
        Color('fg', 'red'), Bold(), '#', Reset(), '] ',
        Color('fg', 'green'), 'app-arch/bzip2-2.1%s' % self.repo_id(self.repo1), Reset())
예제 #7
0
 def test_repo_id(self):
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', repo=self.repo1)))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(), '  ',
                    Color('fg', 'green'), Bold(), 'N', Reset(), '     ] ',
                    Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6',
                    Reset())
예제 #8
0
 def test_misc(self):
     self.formatter.format(FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', slot='1')))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(),
         '  ', Color('fg', 'green'), Bold(), 'N', Reset(), Color('fg', 'green'), Bold(),
         'S', Reset(), '    ] ',
         Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6', Reset(),
         ' ', Color('fg', 'blue'), Bold(), '[1.0.1-r1]', Reset())
예제 #9
0
 def test_install_symbol_unstable(self):
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', repo=self.repo1, keywords=('~amd64',))))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(),
         '  ', Color('fg', 'green'), Bold(), 'N', Reset(), '    ',
         Color('fg', 'yellow'), Bold(), '~', Reset(), '] ',
         Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6%s' % self.repo_id(self.repo1), Reset())
예제 #10
0
 def test_worldfile_atom(self):
     self.formatter.world_list = [atom('app-arch/bzip2')]
     self.formatter.format(FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6')))
     self.assertOut('[', Color('fg', 'green'),
                    Bold(), 'ebuild', Reset(), '  ', Color('fg', 'green'),
                    Bold(), 'N', Reset(), '     ] ', Color('fg', 'green'),
                    Bold(), 'app-arch/bzip2-1.0.3-r6', Reset())
예제 #11
0
 def test_dropped_iuse_enabled(self):
     self.formatter.format(FakeOp(
         FakeEbuildSrc('app-arch/bzip2-1.0.3-r6'),
         FakeMutatedPkg('app-arch/bzip2-1.0.3-r6', iuse=['static'], use=['static']),
     ))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(),
         '   ', Color('fg', 'yellow'), Bold(), 'R', Reset(), '    ] ',
         Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6', Reset())
예제 #12
0
 def test_nouse(self):
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', iuse=['static']),
         FakeMutatedPkg('app-arch/bzip2-1.0.3-r6')))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(),
         '   ', Color('fg', 'yellow'), Bold(), 'R', Reset(), '    ] ',
         Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6', Reset(),
         ' USE="', Color('fg', 'yellow'), Bold(), '-static', Reset(), '%"')
예제 #13
0
 def test_reinstall(self):
     self.formatter.format(
         FakeOp(self.FakeEbuildSrc('app-arch/bzip2-1.0.3-r6'),
                FakeMutatedPkg('app-arch/bzip2-1.0.3-r6')))
     self.assertOut("* ", Color('fg',
                                'blue'), "app-arch/bzip2-1.0.3-r6::gentoo ",
                    Color('fg', 'blue'), "{:0} ", Color('fg', 'yellow'),
                    "[R]")
예제 #14
0
 def test_fetch_restrict_no_fetchables(self):
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', restrict='fetch')))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(), '  ',
                    Color('fg', 'green'), Bold(), 'N', Reset(), ' ',
                    Color('fg', 'green'), Bold(), 'f', Reset(), '   ] ',
                    Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6',
                    Reset())
예제 #15
0
 def test_upgrade(self):
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.4'),
                FakeMutatedPkg('app-arch/bzip2-1.0.3-r6')))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(), '     ',
                    Color('fg', 'cyan'), Bold(), 'U', Reset(), '  ] ',
                    Color('fg', 'green'), 'app-arch/bzip2-1.0.4', Reset(),
                    ' ', Color('fg', 'blue'), Bold(), '[1.0.3-r6]', Reset())
예제 #16
0
 def test_dropped_iuse_disabled(self):
     self.formatter.format(FakeOp(
         FakeEbuildSrc('app-arch/bzip2-1.0.3-r6'),
         FakeMutatedPkg('app-arch/bzip2-1.0.3-r6', iuse=['bootstrap']),
     ))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(),
         '   ', Color('fg', 'yellow'), Bold(), 'R', Reset(), '    ] ',
         Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6', Reset(),
         ' USE="(', Color('fg', 'yellow'), Bold(), '-bootstrap', Reset(), '%)"')
예제 #17
0
 def test_iuse_defaults(self):
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', eapi='1', iuse=['+static', '-junk'], use=['static']),
         FakeMutatedPkg('app-arch/bzip2-1.0.3-r6')))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(),
         '   ', Color('fg', 'yellow'), Bold(), 'R', Reset(), '    ] ',
         Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6', Reset(),
         ' USE="', Color('fg', 'yellow'), Bold(), 'static', Reset(), "%* ",
         Color('fg', 'yellow'), Bold(), '-junk', Reset(), '%"')
예제 #18
0
 def test_reinstall_from_new_repo(self):
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', repo=self.repo1),
                FakeMutatedPkg('app-arch/bzip2-1.0.3-r6', repo=self.repo2)))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(), '   ',
                    Color('fg', 'yellow'), Bold(), 'R', Reset(), '    ] ',
                    Color('fg', 'green'),
                    f'app-arch/bzip2-1.0.3-r6{self.repo_id(self.repo1)}',
                    Reset(), ' ', Color('fg', 'blue'), Bold(),
                    f'[1.0.3-r6{self.repo_id(self.repo2)}]', Reset())
예제 #19
0
    def test_forced_use_verbose(self):
        self.formatter.pkg_get_use = lambda pkg: (set(['static']), set(), set())

        # rebuilt pkg: unchanged static use flag forced on
        self.formatter.format(
            FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', iuse=['static'], use=['static']),
            FakeMutatedPkg('app-arch/bzip2-1.0.3-r6', iuse=['static'], use=['static'])))
        self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(),
            '   ', Color('fg', 'yellow'), Bold(), 'R', Reset(), '    ] ',
            Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6', Reset(),
            ' USE="(', Color('fg', 'red'), Bold(), 'static', Reset(), ')"')
예제 #20
0
    def test_disabled_use(self):
        self.formatter.pkg_get_use = lambda pkg: (set(), set(), set(['static']))

        self.formatter.format(
            FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', iuse=['static', 'bootstrap'])))
        self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(),
            '  ', Color('fg', 'green'), Bold(), 'N', Reset(), '     ] ',
            Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6', Reset(),
            ' USE="',
            Color('fg', 'blue'), Bold(), '-bootstrap', Reset(), ' ',
            '(', Color('fg', 'blue'), Bold(), '-static', Reset(), ')"')
예제 #21
0
 def test_install_symbol_unkeyworded(self):
     self.formatter.format(
         FakeOp(
             FakeEbuildSrc('app-arch/bzip2-1.0.3-r6',
                           repo=self.repo1,
                           keywords=())))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(), '  ',
                    Color('fg', 'green'), Bold(), 'N', Reset(), '    ',
                    Color('fg', 'red'), Bold(), '*', Reset(), '] ',
                    Color('fg', 'green'),
                    f'app-arch/bzip2-1.0.3-r6{self.repo_id(self.repo1)}',
                    Reset())
예제 #22
0
class TestPortageVerboseRepoIdFormatter(TestPortageVerboseFormatter):
    suffix = [Color("fg", "cyan"), ' [1]\n']

    def setUp(self):
        TestPortageVerboseFormatter.setUp(self)
        self.repo3 = FakeRepo(location='/var/gentoo/repos/repo3')

    def newFormatter(self, **kwargs):
        kwargs.setdefault("quiet_repo_display", True)
        return TestPortageVerboseFormatter.newFormatter(self, **kwargs)

    def repo_id(self, repo):
        return ''

    def test_repo_id(self):
        self.formatter.format(FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', repo=self.repo1)))
        self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(),
            '  ', Color('fg', 'green'), Bold(), 'N', Reset(), '     ] ',
            Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6', Reset())

    def test_end(self):
        self.formatter.format(FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', repo=self.repo1)))
        self.formatter.format(FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', repo=self.repo2)))
        self.formatter.format(FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', repo=self.repo3)))
        self.fakeout.resetstream()
        self.formatter.end()
        self.assertOut('\nTotal: 3 packages (3 new)\n\n',
            ' ', Color('fg', 'cyan'), '[1]', Reset(),' gentoo (/var/gentoo/repos/gentoo)\n',
            ' ', Color('fg', 'cyan'), '[2]', Reset(),' repo2 (/var/gentoo/repos/repo2)\n',
            ' ', Color('fg', 'cyan'), '[3]', Reset(),' /var/gentoo/repos/repo3\n',
            suffix=[''])
예제 #23
0
    def test_forced_use_expand(self):
        self.formatter = self.newFormatter(use_expand=set(["ABI_X86", "TARGETS"]))
        self.formatter.pkg_get_use = lambda pkg: (set(['targets_X86']), set(), set())

        # rebuilt pkg: new abi_x86_64 and targets_X86 USE flags,
        # with abi_x86_64 disabled and targets_X86 forced on
        self.formatter.format(
            FakeOp(FakeEbuildSrc(
                'app-arch/bzip2-1.0.3-r6',
                iuse=['abi_x86_64', 'targets_X86'],
                use=['targets_X86']),
            FakeMutatedPkg('app-arch/bzip2-1.0.3-r6')))
        self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(),
            '   ', Color('fg', 'yellow'), Bold(), 'R', Reset(), '    ] ',
            Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6', Reset(),
            ' ABI_X86="', Color('fg', 'yellow'), Bold(), '-64', Reset(), '%"',
            ' TARGETS="(', Color('fg', 'yellow'), Bold(), 'X86', Reset(), '%*)"')
예제 #24
0
 def test_changed_use(self):
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6',
             iuse=['static', 'bootstrap', 'perl', 'foobar', 'rice'],
             use=['static', 'rice']),
         FakeMutatedPkg('app-arch/bzip2-1.0.3-r6',
             iuse=['bootstrap', 'foobar', 'rice', 'kazaam'],
             use=['foobar'])))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(),
         '   ', Color('fg', 'yellow'), Bold(), 'R', Reset(), '    ] ',
         Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6', Reset(), ' USE="',
         Color('fg', 'green'), Bold(), 'rice', Reset(), '* ',
         Color('fg', 'yellow'), Bold(), 'static', Reset(), '%* ',
         Color('fg', 'blue'), Bold(), '-bootstrap', Reset(), ' ',
         Color('fg', 'green'), Bold(), '-foobar', Reset(), '* ',
         Color('fg', 'yellow'), Bold(), '-perl', Reset(), '% ',
         '(', Color('fg', 'yellow'), Bold(), '-kazaam', Reset(), '%)"')
예제 #25
0
 def test_removed_use(self):
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', iuse=['static'], use=['static']),
         FakeMutatedPkg('app-arch/bzip2-1.0.3-r6', iuse=['static', 'bootstrap', 'foo'], use=['static', 'foo'])))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(),
         '   ', Color('fg', 'yellow'), Bold(), 'R', Reset(), '    ] ',
         Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6', Reset(),
         ' USE="', Color('fg', 'red'), Bold(), 'static', Reset(), ' ',
         '(', Color('fg', 'yellow'), Bold(), '-bootstrap', Reset(), '%) ',
         '(', Color('fg', 'yellow'), Bold(), '-foo', Reset(), '%*)"')
예제 #26
0
 def test_use_expand(self):
     self.formatter = self.newFormatter(use_expand=set(["foo", "bar"]))
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6',
             iuse=['foo_static', 'foo_bootstrap', 'bar_baz'],
             use=['foo_static', 'bar_baz']),
         FakeMutatedPkg('app-arch/bzip2-1.0.3-r6')))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(),
         '   ', Color('fg', 'yellow'), Bold(), 'R', Reset(), '    ] ',
         Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6', Reset(),
         ' BAR="', Color('fg', 'yellow'), Bold(), 'baz', Reset(), '%*"',
         ' FOO="', Color('fg', 'yellow'), Bold(), 'static', Reset(), '%* ',
         Color('fg', 'yellow'), Bold(), '-bootstrap', Reset(), '%"')
예제 #27
0
 def test_new(self):
     self.formatter.format(FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.4')))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(), '  ',
                    Color('fg', 'green'), Bold(), 'N', Reset(), '     ] ',
                    Color('fg', 'green'), 'app-arch/bzip2-1.0.4', Reset())
예제 #28
0
 def test_repo_id(self):
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', repo=self.repo1)))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(), '  ',
                    Color('fg', 'green'), Bold(), 'N', Reset(), '     ] ',
                    Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6::gentoo',
                    Reset())
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.3-r6', repo=self.repo2)))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(), '  ',
                    Color('fg', 'green'), Bold(), 'N', Reset(), '     ] ',
                    Color('fg', 'green'), 'app-arch/bzip2-1.0.3-r6::repo2',
                    Reset())
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.4', repo=self.repo1),
                FakeMutatedPkg('app-arch/bzip2-1.0.3-r6', repo=self.repo1)))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(), '     ',
                    Color('fg', 'cyan'), Bold(), 'U', Reset(), '  ] ',
                    Color('fg', 'green'), 'app-arch/bzip2-1.0.4::gentoo',
                    Reset(), ' ', Color('fg', 'blue'), Bold(),
                    '[1.0.3-r6::gentoo]', Reset())
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.4', repo=self.repo2),
                FakeMutatedPkg('app-arch/bzip2-1.0.3-r6', repo=self.repo1)))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(), '     ',
                    Color('fg', 'cyan'), Bold(), 'U', Reset(), '  ] ',
                    Color('fg', 'green'), 'app-arch/bzip2-1.0.4::repo2',
                    Reset(), ' ', Color('fg', 'blue'), Bold(),
                    '[1.0.3-r6::gentoo]', Reset())
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.4', repo=self.repo1),
                FakeMutatedPkg('app-arch/bzip2-1.0.3-r6', repo=self.repo2)))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(), '     ',
                    Color('fg', 'cyan'), Bold(), 'U', Reset(), '  ] ',
                    Color('fg', 'green'), 'app-arch/bzip2-1.0.4::gentoo',
                    Reset(), ' ', Color('fg', 'blue'), Bold(),
                    '[1.0.3-r6::repo2]', Reset())
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.4', repo=self.repo2),
                FakeMutatedPkg('app-arch/bzip2-1.0.3-r6', repo=self.repo2)))
     self.assertOut('[', Color('fg', 'green'), 'ebuild', Reset(), '     ',
                    Color('fg', 'cyan'), Bold(), 'U', Reset(), '  ] ',
                    Color('fg', 'green'), 'app-arch/bzip2-1.0.4::repo2',
                    Reset(), ' ', Color('fg', 'blue'), Bold(),
                    '[1.0.3-r6::repo2]', Reset())
예제 #29
0
 def test_remove(self):
     self.formatter.format(
         FakeOp(FakeEbuildSrc('app-arch/bzip2-1.0.4'), desc='remove'))
     self.assertOut('[', Color('fg',
                               'red'), 'uninstall', Reset(), '        ] ',
                    Color('fg', 'red'), 'app-arch/bzip2-1.0.4', Reset())