We resolved this issue by email
The problem was coming from the assumption that newImage commands embedded in the success would only be evaluated in case of a successful test, but all new* commands are evaluated at the beginning of the experiment, even if they are embedded in a test command that will be evaluated upon runtime. One reason for this behavior is to let PennController preload the resources as soon as possible.
Template( "myTable.csv" , row =>
( row.Image.match(/png$/) ?
newImage( row.Image ).print()
newText( row.Text ).print()