# test_PackageKeywordsFile.py -- Portage Unit Testing Functionality # Copyright 2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 from portage import os from portage.tests import TestCase from portage.env.config import PackageKeywordsFile from tempfile import mkstemp class PackageKeywordsFileTestCase(TestCase): cpv = ['sys-apps/portage'] keywords = ['~x86', 'amd64', '-mips'] def testPackageKeywordsFile(self): """ A simple test to ensure the load works properly """ self.BuildFile() try: f = PackageKeywordsFile(self.fname) f.load() i = 0 for cpv, keyword in f.items(): self.assertEqual( cpv, self.cpv[i] ) [k for k in keyword if self.assertTrue(k in self.keywords)] i = i + 1 finally: self.NukeFile() def BuildFile(self): fd, self.fname = mkstemp() f = os.fdopen(fd, 'w') for c in self.cpv: f.write("%s %s\n" % (c,' '.join(self.keywords))) f.close() def NukeFile(self): os.unlink(self.fname)