aboutsummaryrefslogtreecommitdiff
blob: 70b3a1401587fbd4f959ad3165a0cbc695c7b536 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# testConfigFileSet.py -- Portage Unit Testing Functionality
# Copyright 2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

from portage.dep import Atom
from portage.exception import InvalidAtom
from portage.tests import TestCase
from portage.sets.base import InternalPackageSet

class InternalPackageSetTestCase(TestCase):
	"""Simple Test Case for InternalPackageSet"""

	def testInternalPackageSet(self):
		i1_atoms = set(("dev-libs/A", ">=dev-libs/A-1", "dev-libs/B"))
		i2_atoms = set(("dev-libs/A", "dev-libs/*", "dev-libs/C"))

		i1 = InternalPackageSet(initial_atoms=i1_atoms)
		i2 = InternalPackageSet(initial_atoms=i2_atoms, allow_wildcard=True)
		self.assertRaises(InvalidAtom, InternalPackageSet, initial_atoms=i2_atoms)

		self.assertEqual(i1.getAtoms(), i1_atoms)
		self.assertEqual(i2.getAtoms(), i2_atoms)

		new_atom = Atom("*/*", allow_wildcard=True)
		self.assertRaises(InvalidAtom, i1.add, new_atom)
		i2.add(new_atom)

		i2_atoms.add(new_atom)

		self.assertEqual(i1.getAtoms(), i1_atoms)
		self.assertEqual(i2.getAtoms(), i2_atoms)

		removed_atom = Atom("dev-libs/A")

		i1.remove(removed_atom)
		i2.remove(removed_atom)

		i1_atoms.remove(removed_atom)
		i2_atoms.remove(removed_atom)

		self.assertEqual(i1.getAtoms(), i1_atoms)
		self.assertEqual(i2.getAtoms(), i2_atoms)

		update_atoms = [Atom("dev-libs/C"), Atom("dev-*/C", allow_wildcard=True)]

		self.assertRaises(InvalidAtom, i1.update, update_atoms)
		i2.update(update_atoms)

		i2_atoms.update(update_atoms)

		self.assertEqual(i1.getAtoms(), i1_atoms)
		self.assertEqual(i2.getAtoms(), i2_atoms)

		replace_atoms = [Atom("dev-libs/D"), Atom("*-libs/C", allow_wildcard=True)]

		self.assertRaises(InvalidAtom, i1.replace, replace_atoms)
		i2.replace(replace_atoms)

		i2_atoms = set(replace_atoms)

		self.assertEqual(i2.getAtoms(), i2_atoms)