tftpd: Check the server status after each test.
- In the setup phase, wait for the server to start (or fail to start) before proceeding with the test. This makes it possible to write test cases that don't expect a response from the server without ending up in a race over the server PID file.
- After running each test, wait up to 30 seconds for the server to exit and check that the exit status matches what the test case says to expect (usually 0).
- We still kill and collect the server in the cleanup phase, in case the test ended early.
MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D44956