| # Copyright 2014 The ChromiumOS Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """Unit tests for the cbuildbot program""" |
| |
| from chromite.lib import constants |
| from chromite.lib import cros_test_lib |
| from chromite.scripts import cbuildbot |
| |
| |
| # pylint: disable=protected-access |
| |
| |
| class IsDistributedBuilderTest(cros_test_lib.TestCase): |
| """Test for cbuildbot._IsDistributedBuilder.""" |
| |
| # pylint: disable=protected-access |
| def testIsDistributedBuilder(self) -> None: |
| """Tests for _IsDistributedBuilder() under various configurations.""" |
| parser = cbuildbot._CreateParser() |
| argv = ["--buildroot", "/foo", "amd64-generic-paladin"] |
| options = cbuildbot.ParseCommandLine(parser, argv) |
| options.buildbot = False |
| |
| build_config = dict(manifest_version=False) |
| chrome_rev = None |
| |
| def _TestConfig(expected) -> None: |
| self.assertEqual( |
| expected, |
| cbuildbot._IsDistributedBuilder( |
| options=options, |
| chrome_rev=chrome_rev, |
| build_config=build_config, |
| ), |
| ) |
| |
| # Default options. |
| _TestConfig(False) |
| |
| build_config["manifest_version"] = True |
| # Not running in buildbot mode even though manifest_version=True. |
| _TestConfig(False) |
| options.buildbot = True |
| _TestConfig(True) |
| |
| for chrome_rev in ( |
| constants.CHROME_REV_TOT, |
| constants.CHROME_REV_LOCAL, |
| constants.CHROME_REV_SPEC, |
| ): |
| _TestConfig(False) |
| |
| |
| class PostsubmitBuilderTest(cros_test_lib.TestCase): |
| """Test for special parameters for ChromeOS Findit Integration.""" |
| |
| def testBuildPackages(self) -> None: |
| parser = cbuildbot.CreateParser() |
| argv = [ |
| "--buildroot", |
| "/foo", |
| "--buildbot", |
| "--cbb_snapshot_revision", |
| "hash1234", |
| "--cbb_build_packages", |
| "pkgA pkgB", |
| "caroline-postsubmit", |
| ] |
| options = cbuildbot.ParseCommandLine(parser, argv) |
| expected = ["pkgA", "pkgB"] |
| self.assertEqual(expected, options.cbb_build_packages) |
| self.assertEqual("hash1234", options.cbb_snapshot_revision) |