CoverUp: Coverage-Guided LLM-Based Test Generation