Add enabled_modules & created_files to Store

This commit is contained in:
Kivi Kaitaniemi
2024-05-16 21:09:46 +03:00
parent b98f0304d8
commit 948914c270
2 changed files with 31 additions and 12 deletions
+16 -3
View File
@@ -52,6 +52,10 @@ def main():
action="store_true",
default=False,
help="don't enable/disable systemd units")
parser.add_argument("--no-commands",
action="store_true",
default=False,
help="don't run user specified commands")
parser.add_argument("--upgrade-devel",
action="store_true",
default=False,
@@ -137,7 +141,7 @@ def _set_up(store: l.Store, args):
sys.path.append(".")
exec(content)
return args.print, not args.no_packages, not args.no_foreign_packages, not args.no_files, not args.no_systemd_units, args.upgrade_devel, args.force_build
return args.print, not args.no_packages, not args.no_foreign_packages, not args.no_files, not args.no_systemd_units, not args.no_commands, args.upgrade_devel, args.force_build
class Core:
@@ -146,7 +150,7 @@ class Core:
"""
def __init__(self, store: l.Store, opts):
self.only_print, self.update_packages, self.update_foreign_packages, self.update_files, self.update_units, self.upgrade_devel, self.force_build = opts
self.only_print, self.update_packages, self.update_foreign_packages, self.update_files, self.update_units, self.run_commands, self.upgrade_devel, self.force_build = opts
self.store = store
self.source = _resolve_source()
@@ -179,7 +183,14 @@ class Core:
if self.update_units:
self._enable_units()
self._run_modules()
if self.run_commands:
self._run_modules()
all_enabled_modules = {}
for mod, version in self.source.all_enabled_modules():
all_enabled_modules[mod] = version
# Enabled modules are really only stored for commands,
# so they can be set only when the commands were exacuted.
self.store.enabled_modules = all_enabled_modules
def _disable_units(self):
to_disable = self.source.units_to_disable(self.store)
@@ -246,6 +257,8 @@ class Core:
l.print_error(f"{e}")
l.print_warning(f"Failed to remove file: {file}")
self.store.created_files = all_created
def _enable_units(self):
to_enable = self.source.units_to_enable(self.store)
l.print_list_summary("Enabling systemd units:", to_enable)
+15 -9
View File
@@ -112,16 +112,16 @@ class TestSource(unittest.TestCase):
self.enabled_module = EnabledTestModule()
self.existing_module = ExistingTestModule()
self.existing_module_changed = ExistingChangedVersionTestModule()
modules = [
modules = {
self.enabled_module,
self.disabled_module,
self.existing_module,
self.existing_module_changed,
]
}
source = Source(
pacman_packages=["p1", "p2", "p3"],
aur_packages=["A1", "A2", "A3"],
user_packages=[
pacman_packages={"p1", "p2", "p3"},
aur_packages={"A1", "A2", "A3"},
user_packages={
UserPackage(
pkgname="U1",
version="1",
@@ -134,10 +134,10 @@ class TestSource(unittest.TestCase):
dependencies=["d2"],
git_url="/am/url/yes",
)
],
ignored_packages=["i1", "i2"],
systemd_units=["1.service", "2.timer"],
systemd_user_units={"user": ["u1.service", "u2.timer"]},
},
ignored_packages={"i1", "i2"},
systemd_units={"1.service", "2.timer"},
systemd_user_units={"user": {"u1.service", "u2.timer"}},
modules=modules,
files={},
directories={},
@@ -173,6 +173,12 @@ class TestSource(unittest.TestCase):
self.store = store
self.currently_installed_packages = currently_installed_packages
def test_all_enabled_modules(self):
enabled_modules = [("Enabled", "1"), ("Existing", "1"),
("ExistingChanged", "2")]
self.assertCountEqual(self.source.all_enabled_modules(),
enabled_modules)
def test_files_to_remove(self):
created_files = ["/test/file1", "/test/file4"]
self.assertCountEqual(