| """Tests for branch_utils.""" |
| |
| from __future__ import absolute_import |
| import os |
| import sys |
| import unittest |
| |
| # Allow imports from cq/scripts folder |
| sys.path.insert( |
| 0, |
| os.path.realpath(os.path.join(os.path.dirname(__file__), os.pardir))) |
| from helpers import branch_utils |
| |
| |
| class BranchUtilsTest(unittest.TestCase): |
| |
| def testAnyBranchAlwaysLaterThanNone(self): |
| """Test that the master branch is always the latest branch.""" |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('master', None)) |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('0.00', None)) |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('3.45', None)) |
| |
| def testMasterBranchAlwaysLatest(self): |
| """Test that the master branch is always the latest branch.""" |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('master', 'master')) |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('master', '2.34')) |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('master', '0.00')) |
| self.assertFalse( |
| branch_utils.is_branch_equal_to_or_later_than('3.45', 'master')) |
| self.assertFalse( |
| branch_utils.is_branch_equal_to_or_later_than('0.00', 'master')) |
| |
| def testNamedBranchLatest(self): |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('pi-tv-dev', 'master')) |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('pi-tv-dev', '2.34')) |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('pi-tv-dev', '0.00')) |
| |
| def testAndroidTvBranchLatest(self): |
| self.assertTrue(branch_utils.is_branch_equal_to_or_later_than( |
| 'android12-5.4-boreal', None)) |
| self.assertTrue(branch_utils.is_branch_equal_to_or_later_than( |
| 'android12-5.4-boreal', 'master')) |
| self.assertTrue(branch_utils.is_branch_equal_to_or_later_than( |
| 'android12-5.4-boreal', '2.34')) |
| # Android TV release branch. |
| self.assertTrue(branch_utils.is_branch_equal_to_or_later_than( |
| 'android12-5.4-boreal-factory', None)) |
| self.assertTrue(branch_utils.is_branch_equal_to_or_later_than( |
| 'android12-5.4-boreal-factory', 'master')) |
| self.assertTrue(branch_utils.is_branch_equal_to_or_later_than( |
| 'android12-5.4-boreal-factory', '2.34')) |
| |
| def testBasicBranchComparison(self): |
| """Test that branches compare properly to one another.""" |
| self.assertFalse( |
| branch_utils.is_branch_equal_to_or_later_than('1.21', '2.34')) |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('2.34', '1.21')) |
| self.assertFalse( |
| branch_utils.is_branch_equal_to_or_later_than('2.1', '11.1')) |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('11.1', '2.1')) |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('1.21', '1.21')) |
| |
| def testBranchesWithSameMajorDifferentMinor(self): |
| """Test that branches with the same major revision compare properly.""" |
| self.assertFalse( |
| branch_utils.is_branch_equal_to_or_later_than('1.21', '1.22')) |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('1.22', '1.21')) |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('1.100', '1.23')) |
| self.assertFalse( |
| branch_utils.is_branch_equal_to_or_later_than('1.23', '1.100')) |
| |
| def testBranchesWithSameMajorAndMinorDifferentVersion(self): |
| """Test same major, minor, but with a different verison.""" |
| self.assertFalse( |
| branch_utils.is_branch_equal_to_or_later_than('1.21', '1.21a')) |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('1.21a', '1.21')) |
| self.assertFalse( |
| branch_utils.is_branch_equal_to_or_later_than('1.21a', '1.21b')) |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('1.21b', '1.21a')) |
| self.assertFalse( |
| branch_utils.is_branch_equal_to_or_later_than('1.21d', '1.22')) |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('1.22', '1.21d')) |
| self.assertTrue( |
| branch_utils.is_branch_equal_to_or_later_than('1.21d', '1.21d')) |
| |
| def testReleaseBranches(self): |
| self.assertFalse(branch_utils.is_release_branch(None)) |
| self.assertFalse(branch_utils.is_release_branch('')) |
| self.assertFalse(branch_utils.is_release_branch('master')) |
| self.assertFalse(branch_utils.is_release_branch('estelle')) |
| self.assertFalse(branch_utils.is_release_branch('android12-5.4-boreal')) |
| self.assertTrue(branch_utils.is_release_branch('1.36')) |
| self.assertTrue(branch_utils.is_release_branch('1.36a')) |
| self.assertTrue(branch_utils.is_release_branch('1.36_sdk_estelle')) |
| self.assertTrue(branch_utils.is_release_branch( |
| 'android12-5.4-boreal-factory')) |
| self.assertTrue(branch_utils.is_release_branch( |
| 'android12-5.4-boreal-ota12')) |
| |
| def testMasterBranches(self): |
| self.assertFalse(branch_utils.is_master_branch(None)) |
| self.assertFalse(branch_utils.is_master_branch('')) |
| self.assertFalse(branch_utils.is_master_branch('estelle')) |
| self.assertFalse(branch_utils.is_master_branch('1.36')) |
| self.assertFalse(branch_utils.is_master_branch('1.36a')) |
| self.assertFalse(branch_utils.is_master_branch('1.36_sdk_estelle')) |
| self.assertTrue(branch_utils.is_master_branch('master')) |
| |
| if __name__ == '__main__': |
| unittest.main() |