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) | 
