diff options
Diffstat (limited to 'lib/portage/tests/dep/test_standalone.py')
-rw-r--r-- | lib/portage/tests/dep/test_standalone.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/portage/tests/dep/test_standalone.py b/lib/portage/tests/dep/test_standalone.py new file mode 100644 index 000000000..3b6cb12d7 --- /dev/null +++ b/lib/portage/tests/dep/test_standalone.py @@ -0,0 +1,44 @@ +# Copyright 2010-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +from portage.tests import TestCase +from portage.dep import cpvequal +from portage.exception import PortageException + + +class TestStandalone(TestCase): + """Test some small functions portage.dep""" + + def testCPVequal(self): + test_cases = ( + ("sys-apps/portage-2.1", "sys-apps/portage-2.1", True), + ("sys-apps/portage-2.1", "sys-apps/portage-2.0", False), + ("sys-apps/portage-2.1", "sys-apps/portage-2.1-r1", False), + ("sys-apps/portage-2.1-r1", "sys-apps/portage-2.1", False), + ("sys-apps/portage-2.1_alpha3", "sys-apps/portage-2.1", False), + ("sys-apps/portage-2.1_alpha3_p6", "sys-apps/portage-2.1_alpha3", False), + ("sys-apps/portage-2.1_alpha3", "sys-apps/portage-2.1", False), + ("sys-apps/portage-2.1", "sys-apps/X-2.1", False), + ("sys-apps/portage-2.1", "portage-2.1", False), + ) + + test_cases_xfail = ( + ("sys-apps/portage", "sys-apps/portage"), + ("sys-apps/portage-2.1-6", "sys-apps/portage-2.1-6"), + ) + + for cpv1, cpv2, expected_result in test_cases: + self.assertEqual( + cpvequal(cpv1, cpv2), + expected_result, + f"cpvequal('{cpv1}', '{cpv2}') != {expected_result}", + ) + + for cpv1, cpv2 in test_cases_xfail: + self.assertRaisesMsg( + f"cpvequal({cpv1}, {cpv2})", + PortageException, + cpvequal, + cpv1, + cpv2, + ) |