Skip to content

Commit 758ae23

Browse files
committed
Add execution level test
1 parent 13e1e83 commit 758ae23

File tree

4 files changed

+87
-9
lines changed

4 files changed

+87
-9
lines changed

tests/conftest.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,6 @@ def shutil_which_patch(mocker: MockerFixture) -> None:
6060
mocker.patch("shutil.which", new=lambda x: x)
6161

6262

63-
@pytest.fixture
64-
def subprocess_run_patch(mocker: MockerFixture) -> None:
65-
"""
66-
Make subprocess.run return the command instead of executing it.
67-
"""
68-
mocker.patch("subprocess.run", new=lambda x: x)
69-
70-
7163
@pytest.fixture
7264
def default_build_task_patch(mocker: MockerFixture) -> None:
7365
"""
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{
2+
"version": "2.0.0",
3+
"tasks": [
4+
{
5+
"label": "Task_3_1"
6+
},
7+
{
8+
"label": "Task_3_2"
9+
},
10+
{
11+
"label": "Task_3_3"
12+
},
13+
{
14+
"label": "Task_2_1",
15+
"dependsOn": [
16+
"Task_3_1",
17+
"Task_3_2"
18+
]
19+
},
20+
{
21+
"label": "Task_2_2",
22+
"dependsOn": [
23+
"Task_3_3"
24+
]
25+
},
26+
{
27+
"label": "Task_2_3"
28+
},
29+
{
30+
"label": "Task_1_1",
31+
"dependsOn": [
32+
"Task_2_1",
33+
"Task_2_2"
34+
]
35+
},
36+
{
37+
"label": "Task_1_2",
38+
"dependsOn": [
39+
"Task_2_3"
40+
]
41+
}
42+
]
43+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import pprint
2+
3+
from tests.conftest import task_obj
4+
from vscode_task_runner import executor
5+
6+
7+
def test_collect_levels() -> None:
8+
task_1_1 = task_obj(__file__, "Task_1_1")
9+
task_1_2 = task_obj(__file__, "Task_1_2")
10+
11+
levels = executor.collect_levels([task_1_1, task_1_2])
12+
13+
# Tree looks like
14+
# - Task_1_1
15+
# -- Task_2_1
16+
# --- Task_3_1
17+
# --- Task_3_2
18+
# -- Task_2_2
19+
# --- Task_3_3
20+
# - Task_1_2
21+
# -- Task_2_3
22+
23+
pprint.pprint(levels)
24+
25+
# first batch
26+
assert levels[0].tasks[0].label == "Task_3_1"
27+
assert levels[0].tasks[1].label == "Task_3_2"
28+
29+
# second batch
30+
assert levels[1].tasks[0].label == "Task_3_3"
31+
32+
# third batch
33+
assert levels[2].tasks[0].label == "Task_2_1"
34+
assert levels[2].tasks[1].label == "Task_2_2"
35+
36+
# fourth batch
37+
assert levels[3].tasks[0].label == "Task_1_1"
38+
39+
# fifth level
40+
assert levels[4].tasks[0].label == "Task_2_3"
41+
42+
# last level
43+
assert levels[5].tasks[0].label == "Task_1_2"

vscode_task_runner/executor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ def execute_tasks(tasks: list[Task], extra_args: list[str]) -> None:
279279

280280
def execute_task(task: Task, index: int, total: int, extra_args: list[str]) -> None:
281281
"""
282-
Actually exexcute the task. Takes the task object, current index, total number,
282+
Actually execute the task. Takes the task object, current index, total number,
283283
and any extra args.
284284
"""
285285
if is_virtual_task(task):

0 commit comments

Comments
 (0)