summaryrefslogtreecommitdiffstats
path: root/pym/portage/tests/emerge/test_global_updates.py
blob: b2810d0e8934ac6c343a8764f8f17a079fa2ff5b (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
# Copyright 2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

from portage.tests import TestCase
from portage.update import parse_updates
from portage.dep import Atom

class ParseUpdatesTestCase(TestCase):

	def testParseUpdates(self):
		test_cases = (
		(
			"""
slotmove invalid_atom 0 3
slotmove !=invalid/blocker-3* 0 3
slotmove =valid/atom-3* 0 3 invalid_extra_token
slotmove =valid/atom-3* 0 3
move valid/atom1 valid/atom2 invalid_extra_token
move valid/atom1 invalid_atom2
move invalid_atom1 valid/atom2
move !invalid/blocker1 valid/atom2
move valid/atom1 !invalid/blocker2
move valid/atom1 valid/atom2
""",
			[
				['slotmove', Atom('=valid/atom-3*'), '0', '3'],
				['move', Atom('valid/atom1'), Atom('valid/atom2')],
			],
			8,
		),

		)

		for input_content, expected_output, expected_error_count in test_cases:
			output_data, errors = parse_updates(input_content)
			self.assertEqual(output_data, expected_output)
			self.assertEqual(len(errors), expected_error_count)