# Copyright (C) 2008, 2009, 2016 Michael Trier ([email protected]) and contributors # # This module is part of GitPython and is released under the # 3-Clause BSD License: https://opensource.org/license/bsd-3-clause/ from itertools import product import re import ddt from git.exc import ( InvalidGitRepositoryError, WorkTreeRepositoryUnsupported, NoSuchPathError, CommandError, GitCommandNotFound, GitCommandError, CheckoutError, CacheError, UnmergedEntriesError, HookExecutionError, RepositoryDirtyError, ) from git.util import remove_password_if_present from test.lib import TestBase _cmd_argvs = ( ("cmd",), ("θνιÏοδε",), ("θνιÏοδε", "normal", "argvs"), ("cmd", "ελληνικα", "args"), ("θνιÏοδε", "κι", "αλλα", "strange", "args"), ("θνιÏοδε", "κι", "αλλα", "non-unicode", "args"), ( "git", "clone", "-v", "https://fakeuser:[email protected]/testrepo", ), ) _causes_n_substrings = ( (None, None), (7, "exit code(7)"), ("Some string", "'Some string'"), ("Ïαλιο string", "'Ïαλιο string'"), (Exception("An exc."), "Exception('An exc.')"), (Exception("Îακια exc."), "Exception('Îακια exc.')"), (object(), "