Skip to content

Can't break cleanly out of tests #4162

@elazarg

Description

@elazarg

Using Ctrl+C during tests often results in an irrelevant exception that hides the test output:

mypy/test/testcheck.py FFFF^C
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! KeyboardInterrupt !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
to show a full traceback on KeyboardInterrupt use --fulltrace
/home/elazarg/workspace/mypy/mypy/nodes.py:2474: KeyboardInterrupt
Traceback (most recent call last):
  File "/home/elazarg/.pyenv/versions/general/bin/pytest", line 11, in <module>
    sys.exit(main())
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/config.py", line 57, in main
    return config.hook.pytest_cmdline_main(config=config)
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 745, in __call__
    return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 339, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 334, in <lambda>
    _MultiCall(methods, kwargs, hook.spec_opts).execute()
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 614, in execute
    res = hook_impl.function(*args)
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/main.py", line 127, in pytest_cmdline_main
    return wrap_session(config, _main)
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/main.py", line 122, in wrap_session
    exitstatus=session.exitstatus)
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 745, in __call__
    return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 339, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 334, in <lambda>
    _MultiCall(methods, kwargs, hook.spec_opts).execute()
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 613, in execute
    return _wrapped_call(hook_impl.function(*args), self.execute)
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 250, in _wrapped_call
    wrap_controller.send(call_outcome)
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/terminal.py", line 358, in pytest_sessionfinish
    outcome.get_result()
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 279, in get_result
    raise ex[1].with_traceback(ex[2])
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 265, in __init__
    self.result = func()
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 614, in execute
    res = hook_impl.function(*args)
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/runner.py", line 56, in pytest_sessionfinish
    session._setupstate.teardown_all()
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/runner.py", line 425, in teardown_all
    self._pop_and_teardown()
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/runner.py", line 398, in _pop_and_teardown
    self._teardown_with_finalization(colitem)
  File "/home/elazarg/.pyenv/versions/3.6.0/envs/general/lib/python3.6/site-packages/_pytest/runner.py", line 418, in _teardown_with_finalization
    colitem.teardown()
  File "/home/elazarg/workspace/mypy/mypy/test/data.py", line 539, in teardown
    self.obj.tear_down()
  File "/home/elazarg/workspace/mypy/mypy/test/data.py", line 282, in tear_down
    remove(path)
FileNotFoundError: [Errno 2] No such file or directory: 'tmp/builtins.pyi'

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