Beispiel #1
0
def get_repo_info(cfg: Config, repo_name: str, repo_path: str) -> Repo:
    with cwd(repo_path):
        errors = []

        def _each(
            fns: tuple[Callable[[], T], ...],
            augment: Callable[[T], None],
        ) -> None:
            for fn in fns:
                try:
                    ret = fn()
                except DependsError:
                    errors.append(traceback.format_exc())
                else:
                    if ret:
                        augment(ret)

        packages: list[Package] = []
        _each(cfg.get_packages, packages.append)
        depends: list[Depends] = []
        _each(cfg.get_depends, depends.extend)
        return Repo(repo_name, tuple(packages), tuple(depends), tuple(errors))
Beispiel #2
0
def test_cwd(tmpdir):
    orig = os.getcwd()
    with autofix_lib.cwd(tmpdir):
        assert os.getcwd() == tmpdir
    assert os.getcwd() == orig