Skip to content

Commit ec1f03f

Browse files
committed
separate ProtoTestCase
1 parent 8c7fda7 commit ec1f03f

File tree

2 files changed

+27
-19
lines changed

2 files changed

+27
-19
lines changed

mypy/myunit/__init__.py

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -105,30 +105,19 @@ def fail() -> None:
105105
raise AssertionFailure()
106106

107107

108-
class TestCase:
109-
def __init__(self, name: str, suite: 'Optional[Suite]' = None,
110-
func: Optional[Callable[[], None]] = None) -> None:
111-
self.func = func
108+
class ProtoTestCase:
109+
def __init__(self, name: str) -> None:
112110
self.name = name
113-
self.suite = suite
114111
self.old_cwd = None # type: Optional[str]
115112
self.tmpdir = None # type: Optional[tempfile.TemporaryDirectory[str]]
116113

117-
def run(self) -> None:
118-
if self.func:
119-
self.func()
120-
121114
def set_up(self) -> None:
122115
self.old_cwd = os.getcwd()
123116
self.tmpdir = tempfile.TemporaryDirectory(prefix='mypy-test-')
124117
os.chdir(self.tmpdir.name)
125118
os.mkdir('tmp')
126-
if self.suite:
127-
self.suite.set_up()
128119

129120
def tear_down(self) -> None:
130-
if self.suite:
131-
self.suite.tear_down()
132121
assert self.old_cwd is not None and self.tmpdir is not None, \
133122
"test was not properly set up"
134123
os.chdir(self.old_cwd)
@@ -140,6 +129,28 @@ def tear_down(self) -> None:
140129
self.tmpdir = None
141130

142131

132+
class TestCase(ProtoTestCase):
133+
def __init__(self, name: str, suite: 'Optional[Suite]' = None,
134+
func: Optional[Callable[[], None]] = None) -> None:
135+
super().__init__(name)
136+
self.func = func
137+
self.suite = suite
138+
139+
def run(self) -> None:
140+
if self.func:
141+
self.func()
142+
143+
def set_up(self) -> None:
144+
super().set_up()
145+
if self.suite:
146+
self.suite.set_up()
147+
148+
def tear_down(self) -> None:
149+
if self.suite:
150+
self.suite.tear_down()
151+
super().tear_down()
152+
153+
143154
class Suite:
144155
def __init__(self) -> None:
145156
self.prefix = typename(type(self)) + '.'

mypy/test/data.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
import shutil
99

1010
import pytest # type: ignore # no pytest in typeshed
11-
from typing import Callable, List, Tuple, Set, Optional, Iterator, Any, Dict
11+
from typing import List, Tuple, Set, Optional, Iterator, Any, Dict
1212

13-
from mypy.myunit import TestCase, SkipTestCaseException
13+
from mypy.myunit import ProtoTestCase
1414

1515

1616
root_dir = os.path.normpath(os.path.join(os.path.dirname(__file__), '..', '..'))
@@ -176,7 +176,7 @@ def parse_test_cases(
176176
return out
177177

178178

179-
class DataDrivenTestCase(TestCase):
179+
class DataDrivenTestCase(ProtoTestCase):
180180
input = None # type: List[str]
181181
output = None # type: List[str] # Output for the first pass
182182
output2 = None # type: Dict[int, List[str]] # Output for runs 2+, indexed by run number
@@ -263,9 +263,6 @@ def add_dirs(self, dir: str) -> List[str]:
263263
os.mkdir(dir)
264264
return dirs
265265

266-
def run(self) -> None:
267-
assert False
268-
269266
def tear_down(self) -> None:
270267
# First remove files.
271268
for is_dir, path in reversed(self.clean_up):

0 commit comments

Comments
 (0)