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'))
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'))
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'])
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'])
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'])
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'])