Skip to content

Intermittent minor glitches with tests on Windows #3128

Closed
@pkch

Description

@pkch

This is very low priority, but I wanted to keep it for the record in case something similar happens on Linux.

A couple of minor problems that occur:

  • on my platform (Windows 10 x64, python 3.6 )
  • on the version before Optimize tests (parallel execution) #3019 was merged into master (haven't tried it after, but I don't think there's going to be any difference)
  • with the (default) parallel workers enabled

1 Test errors out because it's unable to delete temp directory due to files still present (by the time the test fully completes, the directory is empty); this happens intermittently (and extremely rarely)
2 pytest -x crashes because of worker trying to communicate to a non-existent process (I'm not sure if it's similar to #2940 or not, I haven't looked into it yet); this seems to be 100% reproducible

Listings of the two tracebacks below.

Traceback for problem 1

C:\Downloads\mypy>python runtests.py -j4
PARALLEL 4
SUMMARY  139 tasks selected
passed 36, failed 1, pending 99; running 3

FAILURE  #29 pytest mypy\test\testcheck.py

============================= test session starts =============================
platform win32 -- Python 3.6.0, pytest-3.0.6, py-1.4.32, pluggy-0.4.0
rootdir: C:\Downloads\mypy, inifile: pytest.ini
plugins: xdist-1.15.0, cov-2.4.0, hypothesis-3.7.0, celery-4.0.2
gw0 I / gw1 I / gw2 I / gw3 I / gw4 I / gw5 I / gw6 I / gw7 I
gw0 [2320] / gw1 [2320] / gw2 [2320] / gw3 [2320] / gw4 [2320] / gw5 [2320] / gw6 [2320] / gw7 [2320]

scheduling tests via LoadScheduling
............................s........................................................................................................................................................................................................................................................................................................................................................................................................................................................s..........................................................................s........................................................s............................................................................s.................................................................................................................................................................................................................................................................................................................................................s.............................................................................................................................................................................................................................................................s.s......ss....................s.............................................................................................................................................................................................................................................................................................................................................................................................................................................................E...............................................................................................................................................................................................................................................................s.........................................................................................................s....................................................................................................s..........ss..................................................................................................
=================================== ERRORS ====================================
______ ERROR at teardown of testIncrementalSilentImportsWithInnerImports ______
[gw4] win32 -- Python 3.6.0 C:\AppData\Local\Programs\Python\Python36\python.exe
self = <CallInfo when='teardown' exception: [WinError 145] The directory is not empty: 'C:\\Users\\maxmo\\Downloads\\mypy\\tmp-test-dirs\\mypy-test-ek1cwzsc'>
func = <function call_runtest_hook.<locals>.<lambda> at 0x000002A4D3CCB510>
when = 'teardown'

    def __init__(self, func, when):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        self.when = when
        self.start = time()
        try:
>           self.result = func()

..\..\AppData\Local\Programs\Python\Python36\lib\site-packages\_pytest\runner.py:163:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

>   return CallInfo(lambda: ihook(item=item, **kwds), when=when)

..\..\AppData\Local\Programs\Python\Python36\lib\site-packages\_pytest\runner.py:151:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <_HookCaller 'pytest_runtest_teardown'>
kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <MypyDataCase 'testIncrementalSilentImportsWithInner...alSilentImportsWithInnerImports'>, 'nextitem': <MypyDataCase 'testIncrementalSilentImportsWithInnerImportsAndNewFile'>}

    def __call__(self, **kwargs):
        assert not self.is_historic()
>       return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)

..\..\AppData\Local\Programs\Python\Python36\lib\site-packages\_pytest\vendored_packages\pluggy.py:745:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <_pytest.config.PytestPluginManager object at 0x000002A4D1FA17B8>
hook = <_HookCaller 'pytest_runtest_teardown'>, methods = []
kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <MypyDataCase 'testIncrementalSilentImportsWithInner...alSilentImportsWithInnerImports'>, 'nextitem': <MypyDataCase 'testIncrementalSilentImportsWithInnerImportsAndNewFile'>}

    def _hookexec(self, hook, methods, kwargs):
            # called from all hookcaller instances.
            # enable_tracing will set its own wrapping function at self._inner_hookexec
>       return self._inner_hookexec(hook, methods, kwargs)

..\..\AppData\Local\Programs\Python\Python36\lib\site-packages\_pytest\vendored_packages\pluggy.py:339:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

hook = <_HookCaller 'pytest_runtest_teardown'>, methods = []
kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <MypyDataCase 'testIncrementalSilentImportsWithInner...alSilentImportsWithInnerImports'>, 'nextitem': <MypyDataCase 'testIncrementalSilentImportsWithInnerImportsAndNewFile'>}

          self._inner_hookexec = lambda hook, methods, kwargs: \
>       _MultiCall(methods, kwargs, hook.spec_opts).execute()

..\..\AppData\Local\Programs\Python\Python36\lib\site-packages\_pytest\vendored_packages\pluggy.py:334:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <_MultiCall 0 results, 0 meths, kwargs={'item': <MypyDataCase 'testIncrementalSilentImportsWithInnerImports'>, 'nextit...tIncrementalSilentImportsWithInnerImportsAndNewFile'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>

    def execute(self):
        all_kwargs = self.kwargs
        self.results = results = []
        firstresult = self.specopts.get("firstresult")

        while self.hook_impls:
            hook_impl = self.hook_impls.pop()
            try:
                args = [all_kwargs[argname] for argname in hook_impl.argnames]
            except KeyError:
                for argname in hook_impl.argnames:
                    if argname not in all_kwargs:
                        raise HookCallError(
                            "hook call must provide argument %r" % (argname,))
            if hook_impl.hookwrapper:
>               return _wrapped_call(hook_impl.function(*args), self.execute)

..\..\AppData\Local\Programs\Python\Python36\lib\site-packages\_pytest\vendored_packages\pluggy.py:613:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

wrap_controller = <generator object CaptureManager.pytest_runtest_teardown at 0x000002A4D4322BA0>
func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'item': <MypyDataCase 'testIncrementalSile...IncrementalSilentImportsWithInnerImportsAndNewFile'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>>

    def _wrapped_call(wrap_controller, func):
        """ Wrap calling to a function with a generator which needs to yield
        exactly once.  The yield point will trigger calling the wrapped function
        and return its _CallOutcome to the yield point.  The generator then needs
        to finish (raise StopIteration) in order for the wrapped call to complete.
        """
        try:
            next(wrap_controller)   # first yield
        except StopIteration:
            _raise_wrapfail(wrap_controller, "did not yield")
        call_outcome = _CallOutcome(func)
        try:
            wrap_controller.send(call_outcome)
            _raise_wrapfail(wrap_controller, "has second yield")
        except StopIteration:
            pass
>       return call_outcome.get_result()

..\..\AppData\Local\Programs\Python\Python36\lib\site-packages\_pytest\vendored_packages\pluggy.py:254:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <_pytest.vendored_packages.pluggy._CallOutcome object at 0x000002A4D4B47080>

    def get_result(self):
        if self.excinfo is None:
            return self.result
        else:
            ex = self.excinfo
            if _py3:
>               raise ex[1].with_traceback(ex[2])

..\..\AppData\Local\Programs\Python\Python36\lib\site-packages\_pytest\vendored_packages\pluggy.py:279:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <_pytest.vendored_packages.pluggy._CallOutcome object at 0x000002A4D4B47080>
func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'item': <MypyDataCase 'testIncrementalSile...IncrementalSilentImportsWithInnerImportsAndNewFile'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>>

    def __init__(self, func):
        try:
>           self.result = func()

..\..\AppData\Local\Programs\Python\Python36\lib\site-packages\_pytest\vendored_packages\pluggy.py:265:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <_MultiCall 0 results, 0 meths, kwargs={'item': <MypyDataCase 'testIncrementalSilentImportsWithInnerImports'>, 'nextit...tIncrementalSilentImportsWithInnerImportsAndNewFile'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>

    def execute(self):
        all_kwargs = self.kwargs
        self.results = results = []
        firstresult = self.specopts.get("firstresult")

        while self.hook_impls:
            hook_impl = self.hook_impls.pop()
            try:
                args = [all_kwargs[argname] for argname in hook_impl.argnames]
            except KeyError:
                for argname in hook_impl.argnames:
                    if argname not in all_kwargs:
                        raise HookCallError(
                            "hook call must provide argument %r" % (argname,))
            if hook_impl.hookwrapper:
                return _wrapped_call(hook_impl.function(*args), self.execute)
>           res = hook_impl.function(*args)

..\..\AppData\Local\Programs\Python\Python36\lib\site-packages\_pytest\vendored_packages\pluggy.py:614:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

item = <MypyDataCase 'testIncrementalSilentImportsWithInnerImports'>
nextitem = <MypyDataCase 'testIncrementalSilentImportsWithInnerImportsAndNewFile'>

    def pytest_runtest_teardown(item, nextitem):
>       item.session._setupstate.teardown_exact(item, nextitem)

..\..\AppData\Local\Programs\Python\Python36\lib\site-packages\_pytest\runner.py:116:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <_pytest.runner.SetupState object at 0x000002A4D3CD7048>
item = <MypyDataCase 'testIncrementalSilentImportsWithInnerImports'>
nextitem = <MypyDataCase 'testIncrementalSilentImportsWithInnerImportsAndNewFile'>

    def teardown_exact(self, item, nextitem):
        needed_collectors = nextitem and nextitem.listchain() or []
>       self._teardown_towards(needed_collectors)

..\..\AppData\Local\Programs\Python\Python36\lib\site-packages\_pytest\runner.py:432:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <_pytest.runner.SetupState object at 0x000002A4D3CD7048>
needed_collectors = [<Session 'mypy'>, <Module 'mypy/test/testcheck.py'>, <MypyDataSuite 'TypeCheckSuite'>, <MypyDataCase 'testIncrementalSilentImportsWithInnerImportsAndNewFile'>]

    def _teardown_towards(self, needed_collectors):
        while self.stack:
            if self.stack == needed_collectors[:len(self.stack)]:
                break
>           self._pop_and_teardown()

..\..\AppData\Local\Programs\Python\Python36\lib\site-packages\_pytest\runner.py:438:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <_pytest.runner.SetupState object at 0x000002A4D3CD7048>

    def _pop_and_teardown(self):
        colitem = self.stack.pop()
>       self._teardown_with_finalization(colitem)

..\..\AppData\Local\Programs\Python\Python36\lib\site-packages\_pytest\runner.py:398:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <_pytest.runner.SetupState object at 0x000002A4D3CD7048>
colitem = <MypyDataCase 'testIncrementalSilentImportsWithInnerImports'>

    def _teardown_with_finalization(self, colitem):
        self._callfinalizers(colitem)
        if hasattr(colitem, "teardown"):
>           colitem.teardown()

..\..\AppData\Local\Programs\Python\Python36\lib\site-packages\_pytest\runner.py:418:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <MypyDataCase 'testIncrementalSilentImportsWithInnerImports'>

    def teardown(self) -> None:
>       self.obj.tear_down()

mypy\test\data.py:483:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <mypy.test.data.DataDrivenTestCase object at 0x000002A4D4618D30>

    def tear_down(self) -> None:
        # First remove files.
        for is_dir, path in reversed(self.clean_up):
            if not is_dir:
                remove(path)
        # Then remove directories.
        for is_dir, path in reversed(self.clean_up):
            if is_dir:
                pycache = os.path.join(path, '__pycache__')
                if os.path.isdir(pycache):
                    shutil.rmtree(pycache)
                try:
                    rmdir(path)
                except OSError as error:
                    print(' ** Error removing directory %s -- contents:' % path)
                    for item in os.listdir(path):
                        print('  ', item)
                    # Most likely, there are some files in the
                    # directory. Use rmtree to nuke the directory, but
                    # fail the test case anyway, since this seems like
                    # a bug in a test case -- we shouldn't leave
                    # garbage lying around. By nuking the directory,
                    # the next test run hopefully passes.
                    path = error.filename
                    # Be defensive -- only call rmtree if we're sure we aren't removing anything
                    # valuable.
                    if path.startswith('tmp/') and os.path.isdir(path):
                        shutil.rmtree(path)
                    raise
>       super().tear_down()

mypy\test\data.py:256:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <mypy.test.data.DataDrivenTestCase object at 0x000002A4D4618D30>

    def tear_down(self) -> None:
        if self.suite:
            self.suite.tear_down()
        os.chdir(self.old_cwd)
>       self.tmpdir.cleanup()

mypy\myunit\__init__.py:134:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TemporaryDirectory 'C:\\Users\\maxmo\\Downloads\\mypy\\tmp-test-dirs\\mypy-test-ek1cwzsc'>

    def cleanup(self):
        if self._finalizer.detach():
>           _shutil.rmtree(self.name)

..\..\AppData\Local\Programs\Python\Python36\lib\tempfile.py:811:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = 'C:\\Users\\maxmo\\Downloads\\mypy\\tmp-test-dirs\\mypy-test-ek1cwzsc'
ignore_errors = False
onerror = <function rmtree.<locals>.onerror at 0x000002A4D4A57488>

    def rmtree(path, ignore_errors=False, onerror=None):
        """Recursively delete a directory tree.

        If ignore_errors is set, errors are ignored; otherwise, if onerror
        is set, it is called to handle the error with arguments (func,
        path, exc_info) where func is platform and implementation dependent;
        path is the argument to that function that caused it to fail; and
        exc_info is a tuple returned by sys.exc_info().  If ignore_errors
        is false and onerror is None, an exception is raised.

        """
        if ignore_errors:
            def onerror(*args):
                pass
        elif onerror is None:
            def onerror(*args):
                raise
        if _use_fd_functions:
            # While the unsafe rmtree works fine on bytes, the fd based does not.
            if isinstance(path, bytes):
                path = os.fsdecode(path)
            # Note: To guard against symlink races, we use the standard
            # lstat()/open()/fstat() trick.
            try:
                orig_st = os.lstat(path)
            except Exception:
                onerror(os.lstat, path, sys.exc_info())
                return
            try:
                fd = os.open(path, os.O_RDONLY)
            except Exception:
                onerror(os.lstat, path, sys.exc_info())
                return
            try:
                if os.path.samestat(orig_st, os.fstat(fd)):
                    _rmtree_safe_fd(fd, path, onerror)
                    try:
                        os.rmdir(path)
                    except OSError:
                        onerror(os.rmdir, path, sys.exc_info())
                else:
                    try:
                        # symlinks to directories are forbidden, see bug #1669
                        raise OSError("Cannot call rmtree on a symbolic link")
                    except OSError:
                        onerror(os.path.islink, path, sys.exc_info())
            finally:
                os.close(fd)
        else:
>           return _rmtree_unsafe(path, onerror)

..\..\AppData\Local\Programs\Python\Python36\lib\shutil.py:488:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = 'C:\\Users\\maxmo\\Downloads\\mypy\\tmp-test-dirs\\mypy-test-ek1cwzsc'
onerror = <function rmtree.<locals>.onerror at 0x000002A4D4A57488>

    def _rmtree_unsafe(path, onerror):
        try:
            if os.path.islink(path):
                # symlinks to directories are forbidden, see bug #1669
                raise OSError("Cannot call rmtree on a symbolic link")
        except OSError:
            onerror(os.path.islink, path, sys.exc_info())
            # can't continue even if onerror hook returns
            return
        names = []
        try:
            names = os.listdir(path)
        except OSError:
            onerror(os.listdir, path, sys.exc_info())
        for name in names:
            fullname = os.path.join(path, name)
            try:
                mode = os.lstat(fullname).st_mode
            except OSError:
                mode = 0
            if stat.S_ISDIR(mode):
                _rmtree_unsafe(fullname, onerror)
            else:
                try:
                    os.unlink(fullname)
                except OSError:
                    onerror(os.unlink, fullname, sys.exc_info())
        try:
            os.rmdir(path)
        except OSError:
>           onerror(os.rmdir, path, sys.exc_info())

..\..\AppData\Local\Programs\Python\Python36\lib\shutil.py:387:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = 'C:\\Users\\maxmo\\Downloads\\mypy\\tmp-test-dirs\\mypy-test-ek1cwzsc'
onerror = <function rmtree.<locals>.onerror at 0x000002A4D4A57488>

    def _rmtree_unsafe(path, onerror):
        try:
            if os.path.islink(path):
                # symlinks to directories are forbidden, see bug #1669
                raise OSError("Cannot call rmtree on a symbolic link")
        except OSError:
            onerror(os.path.islink, path, sys.exc_info())
            # can't continue even if onerror hook returns
            return
        names = []
        try:
            names = os.listdir(path)
        except OSError:
            onerror(os.listdir, path, sys.exc_info())
        for name in names:
            fullname = os.path.join(path, name)
            try:
                mode = os.lstat(fullname).st_mode
            except OSError:
                mode = 0
            if stat.S_ISDIR(mode):
                _rmtree_unsafe(fullname, onerror)
            else:
                try:
                    os.unlink(fullname)
                except OSError:
                    onerror(os.unlink, fullname, sys.exc_info())
        try:
>           os.rmdir(path)
E           OSError: [WinError 145] The directory is not empty: 'C:\\Users\\maxmo\\Downloads\\mypy\\tmp-test-dirs\\mypy-test-ek1cwzsc'

..\..\AppData\Local\Programs\Python\Python36\lib\shutil.py:385: OSError
============== 2304 passed, 16 skipped, 1 error in 24.70 seconds ==============

SUMMARY  1/139 tasks and 1/139 tests failed
    FAILURE pytest mypy\test\testcheck.py
SUMMARY  1/139 tasks and 1/139 tests failed
*** FAILURE ***

C:\Downloads\mypy>

Traceback for problem 2

C:\Downloads\mypy>pytest -x
============================= test session starts =============================
platform win32 -- Python 3.6.0, pytest-3.0.6, py-1.4.32, pluggy-0.4.0
rootdir: C:\Downloads\mypy, inifile: pytest.ini
plugins: xdist-1.15.0, cov-2.4.0, hypothesis-3.7.0, celery-4.0.2
gw0 [2326] / gw1 [2326] / gw2 [2326] / gw3 [2326] / gw4 [2326] / gw5 [2326] / gw6 [2326] / gw7 [2326]
scheduling tests via LoadScheduling
....................s...........................................................................................................................................................................................................................................................................................................................F
================================== FAILURES ===================================
_______________________________ testMinusAssign _______________________________
[gw5] win32 -- Python 3.6.0 c:\appdata\local\programs\python\python36\python.exe
data: C:\Downloads\mypy\test-data\unit\check-statements.test:232:
..\..\mypy\test\testcheck.py:111: in run_case
    self.run_case_once(testcase)
..\..\mypy\test\testcheck.py:188: in run_case_once
    assert_string_arrays_equal(output, a, msg.format(testcase.file, testcase.line))
..\..\mypy\test\helpers.py:85: in assert_string_arrays_equal
    raise AssertionFailure(msg)
E   mypy.myunit.AssertionFailure: Invalid type checker output (C:\Downloads\mypy\test-data\unit\check-statements.test, line 232)
---------------------------- Captured stderr call -----------------------------
Expected:
    main:3: error: Unsupported operand types for - ("A" and "B")
    main:4: error: Result type of - incompatible in assignment (diff)
    main:5: error: Unsupported left operand type for - ("C")
Actual:
    main:3: error: Unsupported operand types for - ("A" and "B")
    main:4: error: Incompatible types in assignment (expression has type "C", variable has type "B") (diff)
    main:5: error: Unsupported left operand type for - ("C")

Alignment of first line difference:
    E: main:4: error: Result type of - incompatible in assignment...
    A: main:4: error: Incompatible types in assignment (expression has type "C"...
                                                      ^
!!!!!!!!!!!! xdist.dsession.Interrupted: stopping after 1 failures !!!!!!!!!!!!
=============== 1 failed, 335 passed, 1 skipped in 8.38 seconds ===============
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 984, in _send
INTERNALERROR>     message.to_io(self._io)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 430, in to_io
INTERNALERROR>     io.write(header+self.data)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 397, in write
INTERNALERROR>     self.outfile.flush()
INTERNALERROR> OSError: [Errno 22] Invalid argument
INTERNALERROR>
INTERNALERROR> During handling of the above exception, another exception occurred:
INTERNALERROR>
INTERNALERROR> Traceback (most recent call last):

INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\main.py", line 98, in wrap_session
C:\Downloads\mypy>INTERNALERROR>     session.exitstatus = doit(config, session) or 0
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\main.py", line 133, in _main
INTERNALERROR>     config.hook.pytest_runtestloop(session=session)
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 745, in __call__
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 984, in _send
INTERNALERROR>     return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR>     message.to_io(self._io)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 339, in _hookexec
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 430, in to_io
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>     io.write(header+self.data)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 334, in <lambda>
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 397, in write
INTERNALERROR>     _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR>     self.outfile.flush()
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 614, in execute
INTERNALERROR> OSError: [Errno 22] Invalid argument
INTERNALERROR>
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 984, in _send
INTERNALERROR>     message.to_io(self._io)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 430, in to_io
INTERNALERROR>     io.write(header+self.data)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 984, in _send
INTERNALERROR> During handling of the above exception, another exception occurred:
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 397, in write
INTERNALERROR>     message.to_io(self._io)
INTERNALERROR>
INTERNALERROR>   File "<remote exec>", line 61, in pytest_runtestloop
INTERNALERROR>     self.outfile.flush()
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 430, in to_io
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "<remote exec>", line 77, in run_tests
INTERNALERROR> OSError: [Errno 22] Invalid argument
INTERNALERROR>     io.write(header+self.data)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\main.py", line 98, in wrap_session
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 745, in __call__
INTERNALERROR>     return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 339, in _hookexec
INTERNALERROR>     session.exitstatus = doit(config, session) or 0
INTERNALERROR>
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 397, in write
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\main.py", line 133, in _main
INTERNALERROR> During handling of the above exception, another exception occurred:
INTERNALERROR>     self.outfile.flush()
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 334, in <lambda>
INTERNALERROR>     config.hook.pytest_runtestloop(session=session)
INTERNALERROR>
INTERNALERROR> OSError: [Errno 22] Invalid argument
INTERNALERROR>     _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 745, in __call__
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 613, in execute
INTERNALERROR>     return _wrapped_call(hook_impl.function(*args), self.execute)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 254, in _wrapped_call
INTERNALERROR>     return call_outcome.get_result()
INTERNALERROR>     return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\main.py", line 98, in wrap_session
INTERNALERROR>     session.exitstatus = doit(config, session) or 0
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\main.py", line 133, in _main
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 339, in _hookexec
INTERNALERROR> During handling of the above exception, another exception occurred:
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 279, in get_result
INTERNALERROR>     config.hook.pytest_runtestloop(session=session)
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 745, in __call__
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 334, in <lambda>
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 265, in __init__
INTERNALERROR>     return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR>     _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\main.py", line 98, in wrap_session
INTERNALERROR>     self.result = func()
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 339, in _hookexec
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 614, in execute
INTERNALERROR>     session.exitstatus = doit(config, session) or 0
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 614, in execute
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\main.py", line 133, in _main
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\runner.py", line 66, in pytest_runtest_protocol
INTERNALERROR>     runtestprotocol(item, nextitem=nextitem)
INTERNALERROR>     config.hook.pytest_runtestloop(session=session)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 334, in <lambda>
INTERNALERROR>   File "<remote exec>", line 61, in pytest_runtestloop
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\runner.py", line 73, in runtestprotocol
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 745, in __call__
INTERNALERROR>     _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 614, in execute
INTERNALERROR>     rep = call_and_report(item, "setup", log)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\runner.py", line 137, in call_and_report
INTERNALERROR>     hook.pytest_runtest_logreport(report=report)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 745, in __call__
INTERNALERROR>     return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 339, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>     return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR>   File "<remote exec>", line 77, in run_tests
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 745, in __call__
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 339, in _hookexec
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 334, in <lambda>
INTERNALERROR>   File "<remote exec>", line 61, in pytest_runtestloop
INTERNALERROR>     return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>     _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR>   File "<remote exec>", line 77, in run_tests
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 339, in _hookexec
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 334, in <lambda>
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 614, in execute
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 745, in __call__
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>     _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>     return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 334, in <lambda>
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 614, in execute
INTERNALERROR>   File "<remote exec>", line 92, in pytest_runtest_logreport
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 339, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 334, in <lambda>
INTERNALERROR>   File "<remote exec>", line 25, in sendevent
INTERNALERROR>     _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>     _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 613, in execute
INTERNALERROR>     return _wrapped_call(hook_impl.function(*args), self.execute)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 254, in _wrapped_call
INTERNALERROR>     return call_outcome.get_result()
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 613, in execute
INTERNALERROR>   File "<remote exec>", line 61, in pytest_runtestloop
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 717, in send
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 279, in get_result
INTERNALERROR>     return _wrapped_call(hook_impl.function(*args), self.execute)
INTERNALERROR>   File "<remote exec>", line 77, in run_tests
INTERNALERROR>     self.gateway._send(Message.CHANNEL_DATA, self.id, dumps_internal(item))
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 254, in _wrapped_call
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 745, in __call__
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 990, in _send
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 265, in __init__
INTERNALERROR>     return call_outcome.get_result()
INTERNALERROR>     return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR>     raise IOError("cannot send (already closed?)")
INTERNALERROR>     self.result = func()
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 279, in get_result
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 339, in _hookexec
INTERNALERROR> OSError: cannot send (already closed?)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 614, in execute
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 265, in __init__
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 334, in <lambda>
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\runner.py", line 66, in pytest_runtest_protocol
INTERNALERROR>     self.result = func()
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 614, in execute
INTERNALERROR>     runtestprotocol(item, nextitem=nextitem)
INTERNALERROR>     _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 613, in execute
INTERNALERROR>     return _wrapped_call(hook_impl.function(*args), self.execute)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 254, in _wrapped_call
INTERNALERROR>     return call_outcome.get_result()
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 279, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\runner.py", line 79, in runtestprotocol
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 265, in __init__
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\runner.py", line 64, in pytest_runtest_protocol
INTERNALERROR>     reports.append(call_and_report(item, "call", log))
INTERNALERROR>     self.result = func()
INTERNALERROR>     nodeid=item.nodeid, location=item.location,
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\runner.py", line 137, in call_and_report
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 614, in execute
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 745, in __call__
INTERNALERROR>     hook.pytest_runtest_logreport(report=report)
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>     return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 745, in __call__
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\runner.py", line 66, in pytest_runtest_protocol
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 339, in _hookexec
INTERNALERROR>     return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR>     runtestprotocol(item, nextitem=nextitem)
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 339, in _hookexec
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\runner.py", line 79, in runtestprotocol
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 334, in <lambda>
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>     reports.append(call_and_report(item, "call", log))
INTERNALERROR>     _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 334, in <lambda>
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\runner.py", line 137, in call_and_report
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 614, in execute
INTERNALERROR>     _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR>     hook.pytest_runtest_logreport(report=report)
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 614, in execute
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 745, in __call__
INTERNALERROR>   File "<remote exec>", line 86, in pytest_runtest_logstart
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>     return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR>   File "<remote exec>", line 25, in sendevent
INTERNALERROR>   File "<remote exec>", line 92, in pytest_runtest_logreport
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 339, in _hookexec
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 717, in send
INTERNALERROR>   File "<remote exec>", line 25, in sendevent
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>     self.gateway._send(Message.CHANNEL_DATA, self.id, dumps_internal(item))
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 717, in send
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 334, in <lambda>
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 990, in _send
INTERNALERROR>     self.gateway._send(Message.CHANNEL_DATA, self.id, dumps_internal(item))
INTERNALERROR>     _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR>     raise IOError("cannot send (already closed?)")
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 990, in _send
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\_pytest\vendored_packages\pluggy.py", line 614, in execute
INTERNALERROR> OSError: cannot send (already closed?)
INTERNALERROR>     raise IOError("cannot send (already closed?)")
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR> OSError: cannot send (already closed?)
INTERNALERROR>   File "<remote exec>", line 92, in pytest_runtest_logreport
INTERNALERROR>   File "<remote exec>", line 25, in sendevent
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 717, in send
INTERNALERROR>     self.gateway._send(Message.CHANNEL_DATA, self.id, dumps_internal(item))
INTERNALERROR>   File "c:\appdata\local\programs\python\python36\lib\site-packages\execnet\gateway_base.py", line 990, in _send
INTERNALERROR>     raise IOError("cannot send (already closed?)")
INTERNALERROR> OSError: cannot send (already closed?)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions