Commit c082ee69 authored by Victor Stinner's avatar Victor Stinner

asyncio: Add an unit test to check that setting the PYTHONASYNCIODEBUG env var

enables debug mode of the event loop.
parent 7b7120e1
...@@ -7,6 +7,7 @@ import sys ...@@ -7,6 +7,7 @@ import sys
import time import time
import unittest import unittest
from unittest import mock from unittest import mock
from test.script_helper import assert_python_ok
from test.support import IPV6_ENABLED from test.support import IPV6_ENABLED
import asyncio import asyncio
...@@ -489,6 +490,29 @@ class BaseEventLoopTests(test_utils.TestCase): ...@@ -489,6 +490,29 @@ class BaseEventLoopTests(test_utils.TestCase):
self.assertIs(type(_context['context']['exception']), self.assertIs(type(_context['context']['exception']),
ZeroDivisionError) ZeroDivisionError)
def test_env_var_debug(self):
code = '\n'.join((
'import asyncio',
'loop = asyncio.get_event_loop()',
'print(loop.get_debug())'))
# Test with -E to not fail if the unit test was run with
# PYTHONASYNCIODEBUG set to a non-empty string
sts, stdout, stderr = assert_python_ok('-E', '-c', code)
self.assertEqual(stdout.rstrip(), b'False')
sts, stdout, stderr = assert_python_ok('-c', code,
PYTHONASYNCIODEBUG='')
self.assertEqual(stdout.rstrip(), b'False')
sts, stdout, stderr = assert_python_ok('-c', code,
PYTHONASYNCIODEBUG='1')
self.assertEqual(stdout.rstrip(), b'True')
sts, stdout, stderr = assert_python_ok('-E', '-c', code,
PYTHONASYNCIODEBUG='1')
self.assertEqual(stdout.rstrip(), b'False')
class MyProto(asyncio.Protocol): class MyProto(asyncio.Protocol):
done = None done = None
......
...@@ -1577,11 +1577,7 @@ class GatherTestsBase: ...@@ -1577,11 +1577,7 @@ class GatherTestsBase:
self.assertEqual(fut.result(), [3, 1, exc, exc2]) self.assertEqual(fut.result(), [3, 1, exc, exc2])
def test_env_var_debug(self): def test_env_var_debug(self):
path = os.path.dirname(asyncio.__file__)
path = os.path.normpath(os.path.join(path, '..'))
code = '\n'.join(( code = '\n'.join((
'import sys',
'sys.path.insert(0, %r)' % path,
'import asyncio.tasks', 'import asyncio.tasks',
'print(asyncio.tasks._DEBUG)')) 'print(asyncio.tasks._DEBUG)'))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment