write tests to support new changes

This commit is contained in:
2025-07-28 13:16:45 +03:00
parent afd62e88f6
commit c651db85ee
15 changed files with 438 additions and 105 deletions

View File

@@ -50,7 +50,7 @@ class TreeMigrate(Handler):
target_tree.tree_create()
# perform migration
TreeMigrate.tree_move(current_tree, target_tree)
TreeMigrate.fix_symlinks(current_tree)
TreeMigrate.fix_symlinks(target_tree)
@staticmethod
def _set_service_tree_migrate_parser(root: SubParserAction) -> argparse.ArgumentParser:

View File

@@ -59,7 +59,7 @@ class Repo(LazyLogging):
"""
return self.root / f"{self.name}.db.tar.gz"
def add(self, path: Path, remove: bool = True) -> None:
def add(self, path: Path, *, remove: bool = True) -> None:
"""
add new package to repository
@@ -97,7 +97,7 @@ class Repo(LazyLogging):
filename(Path): package filename to remove
"""
# remove package and signature (if any) from filesystem
for full_path in self.root.glob(f"**/{filename}*"):
for full_path in self.root.glob(f"**/{filename.name}*"):
full_path.unlink()
# remove package from registry

View File

@@ -41,7 +41,7 @@ class Executor(PackageInfo, Cleaner):
trait for common repository update processes
"""
def _archive_remove(self, description: PackageDescription, package_base: str) -> None:
def _archive_rename(self, description: PackageDescription, package_base: str) -> None:
"""
rename package archive removing special symbols
@@ -259,7 +259,7 @@ class Executor(PackageInfo, Cleaner):
packager = self.packager(packagers, local.base)
for description in local.packages.values():
self._archive_remove(description, local.base)
self._archive_rename(description, local.base)
self._package_update(description.filename, local.base, packager.key)
self.reporter.set_success(local)
result.add_updated(local)

View File

@@ -309,6 +309,9 @@ class RepositoryPaths(LazyLogging):
path = path or self.root
def walk(root: Path) -> Iterator[Path]:
if not root.exists():
return
# basically walk, but skipping some content
for child in root.iterdir():
yield child