You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
pytest --pdb execute test cases which otherwise are skipped #2137
using pytest 3.0.5 (and xdist (1.15) + cov plugins (2.3.1)), under linux :
reproduce steps :
18:58 $ cat test_pytest_pdb_skip.py
import platform
import unittest2 as unittest
@unittest.skipIf(platform.system() != 'Windows', 'This test need to be run on Windows!')
class MyTestCase(unittest.TestCase):
def test_one(self):
self.assertTrue(False)
this is ok : pytest -xv test_pytest_pdb_skip.py
this is not ok : the test is executed and here obviously fail pytest --pdb -xv test_pytest_pdb_skip.py
This is a side effect of #1890, because now the skip machinery for unittest.TestCase tests is not reached when --pdb is given in the command line (unittest.py:155):
defruntest(self):
ifself.config.pluginmanager.get_plugin("pdbinvoke") isNone:
self._testcase(result=self)
else:
# disables tearDown and cleanups for post mortem debugging (see #1890)self._testcase.debug()
Have to think about a proper fix for this, we probably need to handle other types of failures as well (such as unexpectedSuccess). Perhaps @mbyt can chime in?
Activity
nicoddemus commentedon Dec 14, 2016
Thanks for the report!
This is a side effect of #1890, because now the skip machinery for
unittest.TestCasetests is not reached when--pdbis given in the command line (unittest.py:155):Have to think about a proper fix for this, we probably need to handle other types of failures as well (such as
unexpectedSuccess). Perhaps @mbyt can chime in?Allow to skip unittests if --pdb active
mbyt commentedon Jan 31, 2017
Thanks for reporting - and yes, that's definitely a regression.
@nicoddemus, sorry for being late. I looked into this and proposed a possible solution in #2225.