Exemple #1
0
    def __init__(self, *args, **kwargs):
        TempDirMixin.__init__(self, *args, **kwargs)
        TestCase.__init__(self, *args, **kwargs)

        # default files
        self.make_globals = {}
        load_make_conf(
            self.make_globals, pjoin(const.CONFIG_PATH, 'make.globals'))

        self.global_repos_defaults, self.global_repos_conf = load_repos_conf(
            pjoin(const.CONFIG_PATH, 'repos.conf'))
Exemple #2
0
    def __init__(self, *args, **kwargs):
        TempDirMixin.__init__(self, *args, **kwargs)
        TestCase.__init__(self, *args, **kwargs)

        # default files
        self.make_globals = {}
        load_make_conf(self.make_globals,
                       pjoin(const.CONFIG_PATH, 'make.globals'))

        self.global_repos_defaults, self.global_repos_conf = load_repos_conf(
            pjoin(const.CONFIG_PATH, 'repos.conf'))
Exemple #3
0
    def test_load_make_conf(self):
        self.assertIn('PORTAGE_TMPDIR', self.make_globals)

        # nonexistent file
        d = {}
        # by default files are required
        self.assertRaises(
            errors.ParsingError, load_make_conf,
            d, pjoin(self.dir, 'make.globals'))
        # should return empty dict when not required
        load_make_conf(d, pjoin(self.dir, 'make.conf'), required=False)
        self.assertEqual({}, d)

        # unreadable file
        d = {}
        with NamedTemporaryFile() as f:
            os.chmod(f.name, stat.S_IWUSR)
            self.assertRaises(
                errors.PermissionDeniedError, load_make_conf, d, f.name)

        # overrides and incrementals
        with NamedTemporaryFile() as f:
            f.write(b'DISTDIR=foo\nACCEPT_LICENSE=foo\n')
            f.flush()
            d = {}
            load_make_conf(d, pjoin(const.CONFIG_PATH, 'make.globals'))
            load_make_conf(d, f.name, allow_sourcing=True, incrementals=True)
            self.assertEqual('foo', d['DISTDIR'])
            self.assertEqual(
                ' '.join([self.make_globals['ACCEPT_LICENSE'], 'foo']),
                d['ACCEPT_LICENSE'])
Exemple #4
0
    def test_load_make_conf(self):
        self.assertIn('PORTAGE_TMPDIR', self.make_globals)

        # nonexistent file
        d = {}
        # by default files are required
        self.assertRaises(errors.ParsingError, load_make_conf, d,
                          pjoin(self.dir, 'make.globals'))
        # should return empty dict when not required
        load_make_conf(d, pjoin(self.dir, 'make.conf'), required=False)
        self.assertEqual({}, d)

        # unreadable file
        d = {}
        with NamedTemporaryFile() as f:
            os.chmod(f.name, stat.S_IWUSR)
            self.assertRaises(errors.PermissionDeniedError, load_make_conf, d,
                              f.name)

        # overrides and incrementals
        with NamedTemporaryFile() as f:
            f.write(b'DISTDIR=foo\nACCEPT_LICENSE=foo\n')
            f.flush()
            d = {}
            load_make_conf(d, pjoin(const.CONFIG_PATH, 'make.globals'))
            load_make_conf(d, f.name, allow_sourcing=True, incrementals=True)
            self.assertEqual('foo', d['DISTDIR'])
            self.assertEqual(
                ' '.join([self.make_globals['ACCEPT_LICENSE'], 'foo']),
                d['ACCEPT_LICENSE'])
Exemple #5
0
    def test_load_make_conf_dir(self):
        # load files from dir and symlinked dir

        make_conf_dir = pjoin(self.dir, 'make.conf')
        os.mkdir(make_conf_dir)
        make_conf_sym = pjoin(self.dir, 'make.conf.sym')
        os.symlink(make_conf_dir, make_conf_sym)

        with open(pjoin(make_conf_dir, 'a'), 'w') as f:
            f.write('DISTDIR=foo\n')
            f.flush()

            d = {}
            load_make_conf(d, pjoin(const.CONFIG_PATH, 'make.globals'))
            sym_d = d.copy()
            load_make_conf(d, make_conf_dir)
            load_make_conf(sym_d, make_conf_sym)

            self.assertEqual(d, sym_d)
            self.assertEqual(
                self.make_globals['ACCEPT_LICENSE'], d['ACCEPT_LICENSE'])
            self.assertEqual('foo', d['DISTDIR'])
Exemple #6
0
    def test_load_make_conf_dir(self):
        # load files from dir and symlinked dir

        make_conf_dir = pjoin(self.dir, 'make.conf')
        os.mkdir(make_conf_dir)
        make_conf_sym = pjoin(self.dir, 'make.conf.sym')
        os.symlink(make_conf_dir, make_conf_sym)

        with open(pjoin(make_conf_dir, 'a'), 'w') as f:
            f.write('DISTDIR=foo\n')
            f.flush()

            d = {}
            load_make_conf(d, pjoin(const.CONFIG_PATH, 'make.globals'))
            sym_d = d.copy()
            load_make_conf(d, make_conf_dir)
            load_make_conf(sym_d, make_conf_sym)

            self.assertEqual(d, sym_d)
            self.assertEqual(self.make_globals['ACCEPT_LICENSE'],
                             d['ACCEPT_LICENSE'])
            self.assertEqual('foo', d['DISTDIR'])