Spaces:
Build error
Build error
| CODEACT_TESTGEN_PROMPT_OLD = """Your goal is to generate a high-quality test suite (at least 20+ passing tests) for the code file: {code_file}. Output the test suite at {test_file}\n' | |
| [current directory: /workspace/{workspace_dir_name}] | |
| IMPORTANT: You should ONLY interact with the environment provided to you AND NEVER ASK FOR HUMAN HELP | |
| IMPORTANT: Follow instructions, if you have < 80 tests you should generate more tests rather than trying to fix the ones you have. | |
| IMPORTANT: Code file to test: | |
| ```python | |
| {code_src} | |
| ``` | |
| Here are additional imports that you may need: | |
| {imports} | |
| Look at code dependencies (NOT {code_file} since you already have contents) and test files you need context for to write a complete test suite. | |
| Aim for 20+ test functions with asserts. Do not hestitate to use the Python interpreter to understand the input output behavior of the code you are testing. | |
| Output your test suite at {test_file}. Each unit test must be a function starting with test_. Include all your test imports and setup before your first test. Do not include a main method to run the tests. Make sure to make it as comprehensive as possible, try to execute all the methods you saw. | |
| When you think you've successfully generated a test suite, run it on for the current project using {coverage_command}. | |
| If you have few tests GENERATE MORE TESTS rather than trying to fix the ones you have (it is possible to filter out failing tests later). | |
| Then run coverage report -m --include {code_file} to see how well your test suite covers the code under test. | |
| When you are trying to improve coverage pick a part of the code that is not covered (indicated by lines on coverage report), examine the code and then | |
| try to generate a test for it. Feel free to use a code interpreter to understand the input output behavior. ONLY add tests | |
| not remove them. | |
| If you are unable to see passing and failing tests, FIX YOUR IMPORTS to use the same style as other test files. | |
| You should NOT modify any existing test case files. You SHOULD add new test in a NEW file to reproduce the issue. | |
| You should NEVER use web browsing or any other web-based tools. | |
| You should NEVER install new packages, use existing packages only. | |
| You should ALWAYS use the default Python interpreter available in the <execute_bash> environment to run code related to the provided issue and/or repository. | |
| You should ALWAYS use local imports DO NOT import the general library. | |
| When you think you have a fully adequate test suite, please run the following command: <execute_bash> exit </execute_bash>. | |
| """ | |
| CODEACT_TESTGEN_PROMPT = """ | |
| Your goal is to generate a comprehensive, **broad-coverage** test suite for the code below, ensuring you test as many lines and branches as possible on the first attempt. | |
| Place your test suite in a new file named {test_file}. | |
| IMPORTANT REQUIREMENTS: | |
| 1. **No external help or resources**—use only the snippet below. | |
| 2. **Focus on breadth over depth**: cover all major functions, classes, and code paths early to minimize coverage iterations. | |
| 3. Each test function must start with `test_` and use `assert` to verify behavior. | |
| 4. Include only necessary imports (standard library or local). | |
| 5. Do **not** modify existing test files—create a brand new one. No `main()` or other non-test code. | |
| 6. Produce **at least 20 test functions**; if coverage is lacking, add more tests rather than removing or changing existing ones. | |
| 7. Use the following commands to check coverage: | |
| <execute_bash> {coverage_command} </execute_bash> | |
| <execute_bash> coverage report -m --include {code_file} </execute_bash> | |
| If lines remain uncovered, add new tests targeting them specifically. | |
| 8. When you're satisfied with coverage, finalize by running: | |
| <execute_bash> exit </execute_bash> | |
| Below is the **complete code snippet** to test: | |
| <START_OF_CODE> | |
| {code_src} | |
| <END_OF_CODE> | |
| NOTE: if you are testing django, you must use from django.test import SimpleTestCase and class based tests (i.e. class TestSomething(SimpleTestCase)). | |
| NOTE: if there is an error executing tests you MUST fix it before exiting. DO NOT install new packages. | |
| NOTE: if outputting a revised test suite REPLACE {test_file} with the revised suite | |
| **Output the final test suite** (20+ tests) for {test_file} in a single code block, no extra commentary. MAKE SURE you run the tests and ensure you can see which tests passed and failed BEFORE exiting. | |
| """ | |
| CODEACT_TESTGEN_PROMPT_ITERATE = """ | |
| Your goal is to improve the test suite at {test_file} to achieve **broad-coverage** of the code below. | |
| First run the test suite. | |
| If no tests run, then remove {test_file} and create {test_file} with a new suite. | |
| Otherwise, improve it aiming to improve code coverage. | |
| IMPORTANT REQUIREMENTS: | |
| 1. Use the following commands to check coverage (RUN THIS FIRST): | |
| <execute_bash> {coverage_command} </execute_bash> | |
| <execute_bash> coverage report -m --include {code_file} </execute_bash> | |
| If lines remain uncovered, add new tests targeting them specifically. | |
| 2. **No external help or resources**—use only the snippet below. | |
| 3. **Focus on breadth over depth**: cover all major functions, classes, and code paths early to minimize coverage iterations. | |
| 4. Each test function must use `assert` to verify behavior. | |
| 5. Include only necessary imports (standard library or local). | |
| 6. Do **not** modify other test files in the repository. No `main()` or other non-test code. | |
| 7. Produce **at least 20 test functions**; if coverage is lacking, add more tests rather than removing or changing existing ones. | |
| 8. When you're satisfied with coverage, finalize by running: | |
| <execute_bash> exit </execute_bash> | |
| Below is the **complete code snippet** to test: | |
| <START_OF_CODE> | |
| {code_src} | |
| <END_OF_CODE> | |
| NOTE: if you are testing django, you must use from django.test import SimpleTestCase and class based tests (i.e. class TestSomething(SimpleTestCase)). | |
| NOTE: if there is an error executing tests you MUST fix it before exiting. DO NOT install new packages. | |
| NOTE: if outputting a revised test suite REPLACE {test_file} with the revised suite | |
| **Output the final test suite** (20+ tests) for {test_file} in a single code block, no extra commentary. MAKE SURE you run the tests and ensure you can see which tests passed and failed BEFORE exiting. | |
| """ | |