diff options
author | Kostis Anagnostopoulos <ankostis@gmail.com> | 2016-10-03 12:25:09 +0200 |
---|---|---|
committer | Kostis Anagnostopoulos <ankostis@gmail.com> | 2016-10-04 01:26:51 +0200 |
commit | be44602b633cfb49a472e192f235ba6de0055d38 (patch) | |
tree | f3bf2cf426e682aba1487174e7e38bd652b09a27 /git/util.py | |
parent | 86aa8738e0df54971e34f2e929484e0476c7f38a (diff) | |
download | gitpython-be44602b633cfb49a472e192f235ba6de0055d38.tar.gz |
hidden win-errs: Let leaking TCs run till end, then hide
+ Detect code breaking the body of TCs eventually hidden win-errors by
raising SkipTest ALAP.
+ submodule.base.py: import classes from `git.objects` instead of
`utils`.
+ had to ++ ulimit 100->110 for the extra code tested (more leaks :-)
+ Centralize is_win detection.
Diffstat (limited to 'git/util.py')
-rw-r--r-- | git/util.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/git/util.py b/git/util.py index 9640a74f..1fa080a0 100644 --- a/git/util.py +++ b/git/util.py @@ -34,6 +34,7 @@ from .compat import ( PY3 ) from .exc import InvalidGitRepositoryError +from unittest.case import SkipTest # NOTE: Some of the unused imports might be used/imported by others. @@ -71,7 +72,15 @@ def rmtree(path): def onerror(func, path, exc_info): # Is the error an access error ? os.chmod(path, stat.S_IWUSR) - func(path) # Will scream if still not possible to delete. + + try: + func(path) # Will scream if still not possible to delete. + except Exception as ex: + from git.test.lib.helper import HIDE_WINDOWS_KNOWN_ERRORS + if HIDE_WINDOWS_KNOWN_ERRORS: + raise SkipTest("FIXME: fails with: PermissionError\n %s", ex) + else: + raise return shutil.rmtree(path, False, onerror) |