Tests can use the same testsuite.target. Add end.service to call poweroff instead of doing it from ExecStopPost where it may be skipped on failure of ExecStart.
"systemctl poweroff" called from testsuite.service will cause this unit itself to stop. To avoid deadlock, the call must not be synchronous.