From f9d9dc587a2259c166556f855d4d91e05568431b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20K=C3=B6rber?= Date: Tue, 4 Jan 2022 11:56:55 +0100 Subject: [PATCH] Add e2e test for repos status --- e2e_tests/helpers.py | 31 +++++++++++++++++++++++++++++++ e2e_tests/test_repos_status.py | 13 +++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 e2e_tests/test_repos_status.py diff --git a/e2e_tests/helpers.py b/e2e_tests/helpers.py index 0cb3882..a5b837f 100644 --- a/e2e_tests/helpers.py +++ b/e2e_tests/helpers.py @@ -186,6 +186,37 @@ class TempGitRepositoryWorktree: del self.remote_2_dir +class RepoTree: + def __init__(self): + pass + + def __enter__(self): + self.root = tempfile.TemporaryDirectory() + self.config = tempfile.NamedTemporaryFile() + with open(self.config.name, "w") as f: + f.write( + f""" + [[trees]] + root = "{self.root.name}" + + [[trees.repos]] + name = "test" + + [[trees.repos]] + name = "test_worktree" + worktree_setup = true + """ + ) + + cmd = grm(["repos", "sync", "--config", self.config.name]) + assert cmd.returncode == 0 + return (self.root.name, self.config.name, ["test", "test_worktree"]) + + def __exit__(self, exc_type, exc_val, exc_tb): + del self.root + del self.config + + class EmptyDir: def __init__(self): pass diff --git a/e2e_tests/test_repos_status.py b/e2e_tests/test_repos_status.py new file mode 100644 index 0000000..8787dea --- /dev/null +++ b/e2e_tests/test_repos_status.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python3 + +import tempfile + +from helpers import * + + +def test_repos_sync_worktree_clone(): + with RepoTree() as (root, config, repos): + cmd = grm(["repos", "status", "--config", config]) + assert cmd.returncode == 0 + for repo in repos: + assert repo in cmd.stdout