Skip to content

Commit 82d69c0

Browse files
chore: Only pass explicit dependencies
1 parent 4bde084 commit 82d69c0

2 files changed

Lines changed: 40 additions & 1 deletion

File tree

src/util/schedule.star

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,10 @@ def launch(plan, schedule):
111111
)
112112
)
113113

114-
launched[item.id] = item.launch(plan=plan, dependencies=launched)
114+
# We will always only pass the explicitly defined dependencies
115+
item_dependencies = {id: launched[id] for id in item.dependencies}
116+
117+
launched[item.id] = item.launch(plan=plan, dependencies=item_dependencies)
115118

116119
return launched
117120

test/util/schedule_test.star

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,3 +251,39 @@ def test_util_schedule_launch_branching(plan):
251251
"d": 'd launched with dependencies {"a": "a launched with dependencies {}", "b": "b launched with dependencies {\\"a\\": \\"a launched with dependencies {}\\"}", "c1": "c1 launched with dependencies {\\"a\\": \\"a launched with dependencies {}\\", \\"b\\": \\"b launched with dependencies {\\\\\\"a\\\\\\": \\\\\\"a launched with dependencies {}\\\\\\"}\\"}", "c2": "c2 launched with dependencies {\\"a\\": \\"a launched with dependencies {}\\", \\"b\\": \\"b launched with dependencies {\\\\\\"a\\\\\\": \\\\\\"a launched with dependencies {}\\\\\\"}\\", \\"c1\\": \\"c1 launched with dependencies {\\\\\\"a\\\\\\": \\\\\\"a launched with dependencies {}\\\\\\", \\\\\\"b\\\\\\": \\\\\\"b launched with dependencies {\\\\\\\\\\\\\\"a\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"a launched with dependencies {}\\\\\\\\\\\\\\"}\\\\\\"}\\"}"}',
252252
},
253253
)
254+
255+
256+
def test_util_schedule_launch_no_implicit_dependencies(plan):
257+
schedule = _schedule.create()
258+
259+
schedule.add(
260+
_schedule.item(
261+
id="a",
262+
launch=lambda plan, dependencies: expect.eq(dependencies, {}),
263+
)
264+
)
265+
266+
schedule.add(
267+
_schedule.item(
268+
id="b",
269+
launch=lambda plan, dependencies: expect.eq(dependencies, {"a": None}),
270+
dependencies=["a"],
271+
)
272+
)
273+
274+
schedule.add(
275+
_schedule.item(
276+
id="c",
277+
launch=lambda plan, dependencies: expect.eq(dependencies, {"b": None}),
278+
dependencies=["b"],
279+
)
280+
)
281+
282+
expect.eq(
283+
_schedule.launch(plan, schedule),
284+
{
285+
"a": None,
286+
"b": None,
287+
"c": None,
288+
},
289+
)

0 commit comments

Comments
 (0)