If I understand this correctly `puppet_master_started` won't be set if backing up the puppet.conf or laying down the new puppet.conf errors and so in those cases there will always be a `teardown_exception` of `NoMethodError`. Does that seem correct? I think we should probably initialize `puppet_master_started` to `false` before the begin block if my reading of this is correct.