Drain the Booth output before terminating.
I had an error once in ~400 test runs in the self.booth.close()
line below:
pexpect.ExceptionPexpect: close() could not terminate the child using terminate()
Perhaps that was caused by unread data on the pipe; let's try draining.