diff --git a/.travis.yml b/.travis.yml index b7ba7e7f..23d4cbb6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -56,6 +56,13 @@ matrix: python: "3.6" env: BUILD=tests + - os: linux + dist: trusty + sudo: false + language: python + python: "3.7-dev" + env: BUILD=tests + - os: linux dist: trusty branches: {only: [releases]} diff --git a/uvloop/loop.pyx b/uvloop/loop.pyx index 1e505675..d5530450 100644 --- a/uvloop/loop.pyx +++ b/uvloop/loop.pyx @@ -974,28 +974,31 @@ cdef class Loop: enabled = bool(enabled) if self._coroutine_wrapper_set == enabled: return - - wrapper = aio_debug_wrapper - current_wrapper = sys_get_coroutine_wrapper() - - if enabled: - if current_wrapper not in (None, wrapper): - warnings.warn( - "loop.set_debug(True): cannot set debug coroutine " - "wrapper; another wrapper is already set %r" % - current_wrapper, RuntimeWarning) - else: - sys_set_coroutine_wrapper(wrapper) - self._coroutine_wrapper_set = True + + if sys_version_info >= (3, 7, 0): + pass else: - if current_wrapper not in (None, wrapper): - warnings.warn( - "loop.set_debug(False): cannot unset debug coroutine " - "wrapper; another wrapper was set %r" % - current_wrapper, RuntimeWarning) + wrapper = aio_debug_wrapper + current_wrapper = sys_get_coroutine_wrapper() + + if enabled: + if current_wrapper not in (None, wrapper): + warnings.warn( + "loop.set_debug(True): cannot set debug coroutine " + "wrapper; another wrapper is already set %r" % + current_wrapper, RuntimeWarning) + else: + sys_set_coroutine_wrapper(wrapper) + self._coroutine_wrapper_set = True else: - sys_set_coroutine_wrapper(None) - self._coroutine_wrapper_set = False + if current_wrapper not in (None, wrapper): + warnings.warn( + "loop.set_debug(False): cannot unset debug coroutine " + "wrapper; another wrapper was set %r" % + current_wrapper, RuntimeWarning) + else: + sys_set_coroutine_wrapper(None) + self._coroutine_wrapper_set = False cdef _create_server(self, system.sockaddr *addr, object protocol_factory,