mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-19 17:36:07 -05:00
[Downloader] More robust repo loading (#2121)
Previously, when downloader was loaded, the RepoManager would spawn a task to load available repos. If one repo failed loading for some reason, the function would raise and the remaining repos would never be loaded, however downloader would still appear to load correctly. This change handles exceptions better during repo loading, but also, if an unhandled exception is raised, downloader will fail to load as it should. Also included, as requested in #1968, is the --recurse-submodules flag in cloning/pulling repositories. This change resolves #1950. Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
This commit is contained in:
@@ -28,20 +28,6 @@ def test_existing_git_repo(tmpdir):
|
||||
assert exists is True
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_clone_repo(repo_norun, capsys):
|
||||
await repo_norun.clone()
|
||||
|
||||
clone_cmd, _ = capsys.readouterr()
|
||||
clone_cmd = clone_cmd.strip("[']\n").split("', '")
|
||||
assert clone_cmd[0] == "git"
|
||||
assert clone_cmd[1] == "clone"
|
||||
assert clone_cmd[2] == "-b"
|
||||
assert clone_cmd[3] == "rewrite_cogs"
|
||||
assert clone_cmd[4] == repo_norun.url
|
||||
assert ("repos", "squid") == pathlib.Path(clone_cmd[5]).parts[-2:]
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_add_repo(monkeypatch, repo_manager):
|
||||
monkeypatch.setattr("redbot.cogs.downloader.repo_manager.Repo._run", fake_run_noprint)
|
||||
|
||||
Reference in New Issue
Block a user