mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
bpo-45629: Improve test.support.skip_if_buildbot (GH-31094)
It was added as part of #29222 to avoid running freeze tool tests on the buildbots but the logic was wrong so it did not skip tests on typical posix setup buildbots where the worker is launched from cron via an @reboot task and thus have no USER environment variable. This uses the canonical `getpass.getuser()` API rather than rolling its own attempt.
This commit is contained in:
parent
51a95be1d0
commit
8726067ace
1 changed files with 6 additions and 4 deletions
|
@ -5,6 +5,7 @@ if __name__ != 'test.support':
|
|||
|
||||
import contextlib
|
||||
import functools
|
||||
import getpass
|
||||
import os
|
||||
import re
|
||||
import stat
|
||||
|
@ -378,10 +379,11 @@ def skip_if_buildbot(reason=None):
|
|||
"""Decorator raising SkipTest if running on a buildbot."""
|
||||
if not reason:
|
||||
reason = 'not suitable for buildbots'
|
||||
if sys.platform == 'win32':
|
||||
isbuildbot = os.environ.get('USERNAME') == 'Buildbot'
|
||||
else:
|
||||
isbuildbot = os.environ.get('USER') == 'buildbot'
|
||||
try:
|
||||
isbuildbot = getpass.getuser().lower() == 'buildbot'
|
||||
except (KeyError, EnvironmentError) as err:
|
||||
warnings.warn(f'getpass.getuser() failed {err}.', RuntimeWarning)
|
||||
isbuildbot = False
|
||||
return unittest.skipIf(isbuildbot, reason)
|
||||
|
||||
def check_sanitizer(*, address=False, memory=False, ub=False):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue