File tree 2 files changed +14
-7
lines changed
2 files changed +14
-7
lines changed Original file line number Diff line number Diff line change @@ -535,9 +535,13 @@ def _cleaning_debug(self):
535
535
536
536
if not skipped :
537
537
self ._pre_setup ()
538
- super (cls , self ).debug ()
539
- if not skipped :
540
- self ._post_teardown ()
538
+ try :
539
+ super (cls , self ).debug ()
540
+ finally :
541
+ # Run _post_teardown also with SkipTest exception, when _pre_setup
542
+ # was run.
543
+ if not skipped :
544
+ self ._post_teardown ()
541
545
542
546
orig_debug = cls .debug
543
547
cls .debug = _cleaning_debug
Original file line number Diff line number Diff line change @@ -489,10 +489,13 @@ def test_method(self):
489
489
assert result .ret == 0
490
490
491
491
492
- def test_cleaning_debug_post_teardown (django_testdir ):
492
+ @pytest .mark .parametrize ("skip_exc" , ("unittest.SkipTest" , "pytest.skip" ))
493
+ def test_cleaning_debug_post_teardown_with_skipped (skip_exc , django_testdir ):
493
494
p1 = django_testdir .create_test_module (
494
495
"""
495
- from unittest import SkipTest
496
+ import unittest
497
+
498
+ import pytest
496
499
from django.test import TestCase
497
500
498
501
post_teardown_count = 0
@@ -506,11 +509,11 @@ def _post_teardown(self):
506
509
507
510
def test_1(self):
508
511
assert post_teardown_count == 0
509
- raise SkipTest ("skipped!")
512
+ raise {skip_exc} ("skipped!")
510
513
511
514
def test_2(self):
512
515
assert post_teardown_count == 1
513
- """
516
+ """ . format ( skip_exc = skip_exc )
514
517
)
515
518
516
519
result = django_testdir .runpytest_subprocess (
You can’t perform that action at this time.
0 commit comments