dulwich.tests.compat.utils module¶
Utilities for interacting with cgit.
-
class
dulwich.tests.compat.utils.
CompatTestCase
(methodName='runTest')¶ Bases:
dulwich.tests.TestCase
Test case that requires git for compatibility checks.
Subclasses can change the git version required by overriding min_git_version.
Create an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.
-
assertObjectStoreEqual
(store1, store2)¶
-
assertReposEqual
(repo1, repo2)¶
-
assertReposNotEqual
(repo1, repo2)¶
-
import_repo
(name)¶ Import a repo from a fast-export file in a temporary directory.
- Parameters
name – The name of the repository export file, relative to dulwich/tests/data/repos.
- Returns
An initialized Repo object that lives in a temporary directory.
-
min_git_version
= (1, 5, 0)¶
-
setUp
()¶ Hook method for setting up the test fixture before exercising it.
-
-
dulwich.tests.compat.utils.
check_for_daemon
(limit=10, delay=0.1, timeout=0.1, port=9418)¶ Check for a running TCP daemon.
Defaults to checking 10 times with a delay of 0.1 sec between tries.
- Parameters
limit – Number of attempts before deciding no daemon is running.
delay – Delay between connection attempts.
timeout – Socket timeout for connection attempts.
port – Port on which we expect the daemon to appear.
- Returns
A boolean, true if a daemon is running on the specified port, false if not.
-
dulwich.tests.compat.utils.
git_version
(git_path='git')¶ Attempt to determine the version of git currently installed.
- Parameters
git_path – Path to the git executable; defaults to the version in the system path.
- Returns
A tuple of ints of the form (major, minor, point, sub-point), or None if no git installation was found.
-
dulwich.tests.compat.utils.
import_repo_to_dir
(name)¶ Import a repo from a fast-export file in a temporary directory.
These are used rather than binary repos for compat tests because they are more compact and human-editable, and we already depend on git.
- Parameters
name – The name of the repository export file, relative to dulwich/tests/data/repos.
- Returns
The path to the imported repository.
-
dulwich.tests.compat.utils.
require_git_version
(required_version, git_path='git')¶ Require git version >= version, or skip the calling test.
- Parameters
required_version – A tuple of ints of the form (major, minor, point, sub-point); ommitted components default to 0.
git_path – Path to the git executable; defaults to the version in the system path.
- Raises
ValueError – if the required version tuple has too many parts.
SkipTest – if no suitable git version was found at the given path.
-
dulwich.tests.compat.utils.
run_git
(args, git_path='git', input=None, capture_stdout=False, **popen_kwargs)¶ Run a git command.
Input is piped from the input parameter and output is sent to the standard streams, unless capture_stdout is set.
- Parameters
args – A list of args to the git command.
git_path – Path to to the git executable.
input – Input data to be sent to stdin.
capture_stdout – Whether to capture and return stdout.
popen_kwargs – Additional kwargs for subprocess.Popen; stdin/stdout args are ignored.
- Returns
A tuple of (returncode, stdout contents). If capture_stdout is False, None will be returned as stdout contents.
- Raises
OSError – if the git executable was not found.
-
dulwich.tests.compat.utils.
run_git_or_fail
(args, git_path='git', input=None, **popen_kwargs)¶ Run a git command, capture stdout/stderr, and fail if git fails.