Skip to content

Commit 18889a5

Browse files
authored
[proposal] strict mypy (#20)
* strict mypy * fix py3.8 typing
1 parent dc37b51 commit 18889a5

File tree

3 files changed

+20
-15
lines changed

3 files changed

+20
-15
lines changed

kannon/master.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def __init__(
4242

4343
self.task_id_to_job_name: Dict[str, str] = dict()
4444

45-
def build(self, root_task: gokart.TaskOnKart):
45+
def build(self, root_task: gokart.TaskOnKart) -> None:
4646
# push tasks into queue
4747
logger.info("Creating task queue...")
4848
task_queue = self._create_task_queue(root_task)

pyproject.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ ignore_patterns = [
5252
line_length = 160
5353

5454
[tool.mypy]
55+
strict = true
56+
disallow_subclassing_any = false # revert strict
57+
implicit_reexport = true # revert strict
5558
ignore_missing_imports = true
5659

5760
[build-system]

test/test_master.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from __future__ import annotations
2+
13
import os
24
import unittest
35

@@ -9,29 +11,29 @@
911

1012
class TestStringMethods(unittest.TestCase):
1113

12-
def test_create_task_queue(self):
14+
def test_create_task_queue(self) -> None:
1315

1416
class Example(gokart.TaskOnKart):
1517
pass
1618

1719
class Dict(gokart.TaskOnKart):
1820

19-
def requires(self):
21+
def requires(self) -> dict[str, Example]:
2022
return dict(example=Example())
2123

2224
class List(gokart.TaskOnKart):
2325

24-
def requires(self):
26+
def requires(self) -> list[Example]:
2527
return [Example()]
2628

2729
class ListInDict(gokart.TaskOnKart):
2830

29-
def requires(self):
31+
def requires(self) -> dict[str, list[Example]]:
3032
return dict(example=[Example()])
3133

3234
class Single(gokart.TaskOnKart):
3335

34-
def requires(self):
36+
def requires(self) -> Example:
3537
return Example()
3638

3739
cases = [Dict(), List(), ListInDict(), Single()]
@@ -40,7 +42,7 @@ def requires(self):
4042
master = Kannon(
4143
api_instance=None,
4244
template_job=client.V1Job(metadata=client.V1ObjectMeta()),
43-
job_prefix=None,
45+
job_prefix="",
4446
path_child_script=__file__, # just pass any existing file as dummy
4547
env_to_inherit=None,
4648
)
@@ -69,7 +71,7 @@ def tearDown(self) -> None:
6971
super().tearDown()
7072
os.environ.clear()
7173

72-
def test_success_basic(self):
74+
def test_success_basic(self) -> None:
7375

7476
class Example(gokart.TaskOnKart):
7577
pass
@@ -79,7 +81,7 @@ class Example(gokart.TaskOnKart):
7981
master = Kannon(
8082
api_instance=None,
8183
template_job=template_job,
82-
job_prefix=None,
84+
job_prefix="",
8385
path_child_script=__file__, # just pass any existing file as dummy
8486
env_to_inherit=None,
8587
)
@@ -104,7 +106,7 @@ class Example(gokart.TaskOnKart):
104106
self.assertEqual(len(child_env), 1)
105107
self.assertEqual(child_env[0], {"name": "TASK_WORKSPACE_DIRECTORY", "value": "/cache"})
106108

107-
def test_success_custom_env(self):
109+
def test_success_custom_env(self) -> None:
108110

109111
class Example(gokart.TaskOnKart):
110112
pass
@@ -114,7 +116,7 @@ class Example(gokart.TaskOnKart):
114116
master = Kannon(
115117
api_instance=None,
116118
template_job=template_job,
117-
job_prefix=None,
119+
job_prefix="",
118120
path_child_script=__file__, # just pass any existing file as dummy
119121
env_to_inherit=["TASK_WORKSPACE_DIRECTORY", "MY_ENV0", "MY_ENV1"],
120122
)
@@ -129,7 +131,7 @@ class Example(gokart.TaskOnKart):
129131
self.assertEqual(child_env[1], {"name": "MY_ENV0", "value": "env0"})
130132
self.assertEqual(child_env[2], {"name": "MY_ENV1", "value": "env1"})
131133

132-
def test_fail_command_set(self):
134+
def test_fail_command_set(self) -> None:
133135

134136
class Example(gokart.TaskOnKart):
135137
pass
@@ -140,7 +142,7 @@ class Example(gokart.TaskOnKart):
140142
master = Kannon(
141143
api_instance=None,
142144
template_job=template_job,
143-
job_prefix=None,
145+
job_prefix="",
144146
path_child_script=__file__, # just pass any existing file as dummy
145147
env_to_inherit=None,
146148
)
@@ -149,7 +151,7 @@ class Example(gokart.TaskOnKart):
149151
with self.assertRaises(AssertionError):
150152
master._create_child_job_object("test-job", serialized_task)
151153

152-
def test_fail_default_env_not_exist(self):
154+
def test_fail_default_env_not_exist(self) -> None:
153155

154156
class Example(gokart.TaskOnKart):
155157
pass
@@ -163,7 +165,7 @@ class Example(gokart.TaskOnKart):
163165
master = Kannon(
164166
api_instance=None,
165167
template_job=template_job,
166-
job_prefix=None,
168+
job_prefix="",
167169
path_child_script=__file__, # just pass any existing file as dummy
168170
env_to_inherit=case,
169171
)

0 commit comments

Comments
 (0)