Skip to content

Commit 39bada2

Browse files
committed
add tests for assume_ready
1 parent a7686a5 commit 39bada2

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

datalad_container/tests/test_run.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,56 @@ def test_extra_inputs(path=None):
275275
]
276276
) == set(runinfo.get("extra_inputs", set()))
277277

278+
@with_tree(
279+
tree={
280+
"container.img": "image file",
281+
"input.txt": "input data"
282+
}
283+
)
284+
def test_assume_ready(path=None):
285+
ds = Dataset(path).create(force=True, **common_kwargs)
286+
ds.containers_add(
287+
"mycontainer",
288+
image="container.img",
289+
call_fmt="echo image={img} cmd={cmd} img_dspath={img_dspath} img_dirpath={img_dirpath} > out.log",
290+
**common_kwargs
291+
)
292+
ds.save(**common_kwargs)
293+
ds.containers_run(
294+
"XXX",
295+
container_name="mycontainer",
296+
assume_ready=['image'],
297+
**common_kwargs)
298+
ok_file_has_content(
299+
os.path.join(ds.repo.path, "out.log"),
300+
"image=container.img",
301+
re_=True,
302+
)
303+
commit_msg = ds.repo.call_git(["show", "--format=%B"])
304+
cmd, runinfo = get_run_info(ds, commit_msg)
305+
assert "container.img" not in runinfo.get("extra_inputs", [])
306+
with pytest.raises(ValueError):
307+
ds.containers_run(
308+
"XXX",
309+
inputs=['input.txt'],
310+
container_name="mycontainer",
311+
assume_ready=['inputsssstypo', 'outputs'],
312+
**common_kwargs)
313+
with pytest.raises(IncompleteResultsError):
314+
ds.containers_run(
315+
"XXX",
316+
inputs=['input.txt'],
317+
outputs=['out.log'],
318+
container_name="mycontainer",
319+
assume_ready=['inputs', 'outputs'],
320+
**common_kwargs)
321+
ds.containers_run(
322+
"XXX",
323+
inputs=['input.txt'],
324+
outputs=['out.log'],
325+
container_name="mycontainer",
326+
assume_ready=['inputs'],
327+
**common_kwargs)
278328

279329
@skip_if_no_network
280330
@with_tree(tree={"subdir": {"in": "innards"}})

0 commit comments

Comments
 (0)