| # Copyright 2014 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| """Unit tests for the cros_list_modified_packages program""" |
| from chromite.lib import cros_test_lib |
| from chromite.lib import sysroot_lib |
| from chromite.scripts import cros_list_modified_packages |
| class ListModifiedWorkonPackagesTest(cros_test_lib.MockTestCase): |
| """Test for cros_list_modified_packages.ListModifiedWorkonPackages.""" |
| def testListModifiedWorkonPackages(self): |
| """Test that no ebuild breaks cros_list_modified_packages""" |
| # A hook to set the "all_opt" parameter when calling ListWorkonPackages |
| _ListWorkonPackagesPatch = functools.partial( |
| cros_list_modified_packages.ListWorkonPackages, all_opt=True) |
| with self.PatchObject(cros_list_modified_packages, 'ListWorkonPackages', |
| side_effect=_ListWorkonPackagesPatch): |
| # ListModifiedWorkonPackages returns a generator object and doesn't |
| # actually do any work automatically. We have to extract the elements |
| # from it to get it to exercise the code, and we can do that by turning |
| list(cros_list_modified_packages.ListModifiedWorkonPackages( |
| sysroot=sysroot_lib.Sysroot('/'))) |