SelfAPR: Self-supervised Program Repair with Test Execution Diagnostics