use log_and_raise
handle difference in ruby $? values
tweak log statement
fix spec; update spec