def test_goloop_no_children(): ''' Attempt to generate code for a loop that has no child kernel calls ''' from psyclone.gocean1p0 import GOLoop, GOSchedule gosched = GOSchedule([]) gojloop = GOLoop(parent=gosched, loop_type="outer") goiloop = GOLoop(parent=gosched, loop_type="inner") gosched.addchild(gojloop) gojloop.addchild(goiloop) # Try and generate the code for this loop even though it # has no children with pytest.raises(GenerationError): goiloop.gen_code(None)
def test_goloop_unsupp_offset(): ''' Attempt to generate code for a loop with constant bounds with an unsupported index offset ''' from psyclone.gocean1p0 import GOLoop, GOSchedule, GOKern gosched = GOSchedule([]) gojloop = GOLoop(parent=gosched, loop_type="outer") goiloop = GOLoop(parent=gosched, loop_type="inner") gosched.addchild(gojloop) gojloop.addchild(goiloop) gokern = GOKern() # Set the index-offset of this kernel to a value that is not # supported when using constant loop bounds gokern._index_offset = "offset_se" goiloop.addchild(gokern) with pytest.raises(GenerationError): goiloop.gen_code(None)