@@ -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