diff --git a/lib/charms/operator_libs_linux/v0/apt.py b/lib/charms/operator_libs_linux/v0/apt.py index 1400df7f..b8913c0e 100644 --- a/lib/charms/operator_libs_linux/v0/apt.py +++ b/lib/charms/operator_libs_linux/v0/apt.py @@ -122,7 +122,7 @@ # Increment this PATCH version before using `charmcraft publish-lib` or reset # to 0 if you are raising the major API version -LIBPATCH = 13 +LIBPATCH = 14 VALID_SOURCE_TYPES = ("deb", "deb-src") @@ -837,7 +837,7 @@ def remove_package( def update() -> None: """Update the apt cache via `apt-get update`.""" - subprocess.run(["apt-get", "update"], capture_output=True, check=True) + subprocess.run(["apt-get", "update", "--error-on=any"], capture_output=True, check=True) def import_key(key: str) -> str: diff --git a/tests/unit/test_apt.py b/tests/unit/test_apt.py index c57a3dda..99c43ca5 100644 --- a/tests/unit/test_apt.py +++ b/tests/unit/test_apt.py @@ -511,7 +511,9 @@ def test_refreshes_apt_cache_if_not_found(self, mock_subprocess, mock_subprocess apt_cache_aisleriot, ] pkg = apt.add_package("aisleriot") - mock_subprocess.assert_any_call(["apt-get", "update"], capture_output=True, check=True) + mock_subprocess.assert_any_call( + ["apt-get", "update", "--error-on=any"], capture_output=True, check=True + ) self.assertEqual(pkg.name, "aisleriot") self.assertEqual(pkg.present, True) @@ -527,7 +529,9 @@ def test_raises_package_not_found_error(self, mock_subprocess, mock_subprocess_o ] * 2 # Double up for the retry after update with self.assertRaises(apt.PackageError) as ctx: apt.add_package("nothere") - mock_subprocess.assert_any_call(["apt-get", "update"], capture_output=True, check=True) + mock_subprocess.assert_any_call( + ["apt-get", "update", "--error-on=any"], capture_output=True, check=True + ) self.assertEqual("", ctx.exception.name) self.assertIn("Failed to install packages: nothere", ctx.exception.message)