You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
3.6 KiB
116 lines
3.6 KiB
# Copyright (c) 2018 gevent community
|
|
#
|
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
# of this software and associated documentation files (the "Software"), to deal
|
|
# in the Software without restriction, including without limitation the rights
|
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
# copies of the Software, and to permit persons to whom the Software is
|
|
# furnished to do so, subject to the following conditions:
|
|
#
|
|
# The above copyright notice and this permission notice shall be included in
|
|
# all copies or substantial portions of the Software.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
# THE SOFTWARE.
|
|
from __future__ import absolute_import, print_function, division
|
|
|
|
import unittest
|
|
|
|
from . import sysinfo
|
|
|
|
def _identity(f):
|
|
return f
|
|
|
|
def _do_not_skip(reason):
|
|
assert reason
|
|
return _identity
|
|
|
|
|
|
skipOnWindows = _do_not_skip
|
|
skipOnAppVeyor = _do_not_skip
|
|
skipOnCI = _do_not_skip
|
|
|
|
skipOnPyPy = _do_not_skip
|
|
skipOnPyPyOnCI = _do_not_skip
|
|
skipOnPyPy3OnCI = _do_not_skip
|
|
skipOnPyPy3 = _do_not_skip
|
|
skipOnPyPyOnWindows = _do_not_skip
|
|
|
|
skipOnPy37 = unittest.skip if sysinfo.PY37 else _do_not_skip
|
|
|
|
skipOnPurePython = unittest.skip if sysinfo.PURE_PYTHON else _do_not_skip
|
|
skipWithCExtensions = unittest.skip if not sysinfo.PURE_PYTHON else _do_not_skip
|
|
|
|
skipOnLibuv = _do_not_skip
|
|
skipOnLibuvOnWin = _do_not_skip
|
|
skipOnLibuvOnCI = _do_not_skip
|
|
skipOnLibuvOnCIOnPyPy = _do_not_skip
|
|
skipOnLibuvOnPyPyOnWin = _do_not_skip
|
|
skipOnLibuvOnTravisOnCPython27 = _do_not_skip
|
|
|
|
skipOnLibev = _do_not_skip
|
|
|
|
if sysinfo.WIN:
|
|
skipOnWindows = unittest.skip
|
|
|
|
|
|
if sysinfo.RUNNING_ON_APPVEYOR:
|
|
# See comments scattered around about timeouts and the timer
|
|
# resolution available on appveyor (lots of jitter). this
|
|
# seems worse with the 62-bit builds.
|
|
# Note that we skip/adjust these tests only on AppVeyor, not
|
|
# win32---we don't think there's gevent related problems but
|
|
# environment related problems. These can be tested and debugged
|
|
# separately on windows in a more stable environment.
|
|
skipOnAppVeyor = unittest.skip
|
|
|
|
|
|
if sysinfo.RUNNING_ON_CI:
|
|
skipOnCI = unittest.skip
|
|
|
|
|
|
if sysinfo.PYPY:
|
|
skipOnPyPy = unittest.skip
|
|
if sysinfo.RUNNING_ON_CI:
|
|
skipOnPyPyOnCI = unittest.skip
|
|
|
|
if sysinfo.WIN:
|
|
skipOnPyPyOnWindows = unittest.skip
|
|
|
|
if sysinfo.PYPY3:
|
|
skipOnPyPy3 = unittest.skip
|
|
if sysinfo.RUNNING_ON_CI:
|
|
# Same as above, for PyPy3.3-5.5-alpha and 3.5-5.7.1-beta and 3.5-5.8
|
|
skipOnPyPy3OnCI = unittest.skip
|
|
|
|
|
|
skipUnderCoverage = unittest.skip if sysinfo.RUN_COVERAGE else _do_not_skip
|
|
|
|
skipIf = unittest.skipIf
|
|
skipUnless = unittest.skipUnless
|
|
|
|
|
|
|
|
if sysinfo.LIBUV:
|
|
skipOnLibuv = unittest.skip
|
|
|
|
if sysinfo.RUNNING_ON_CI:
|
|
skipOnLibuvOnCI = unittest.skip
|
|
if sysinfo.PYPY:
|
|
skipOnLibuvOnCIOnPyPy = unittest.skip
|
|
if sysinfo.RUNNING_ON_TRAVIS:
|
|
if sysinfo.CPYTHON:
|
|
if sysinfo.PY27_ONLY:
|
|
skipOnLibuvOnTravisOnCPython27 = unittest.skip
|
|
|
|
if sysinfo.WIN:
|
|
skipOnLibuvOnWin = unittest.skip
|
|
if sysinfo.PYPY:
|
|
skipOnLibuvOnPyPyOnWin = unittest.skip
|
|
else:
|
|
skipOnLibev = unittest.skip
|
|
|