Spaces:
Build error
Build error
## Runtime Tests | |
This folder contains integration tests that verify the functionality of OpenHands' runtime environments and their interactions with various tools and features. | |
### What are Runtime Tests? | |
Runtime tests focus on testing: | |
- Tool interactions within a runtime environment (bash commands, browsing, file operations) | |
- Environment setup and configuration | |
- Resource management and cleanup | |
- Browser-based operations and file viewing capabilities | |
- IPython/Jupyter integration | |
- Environment variables and configuration handling | |
The tests can be run against different runtime environments (Docker, Local, Remote, Runloop, or Daytona) by setting the TEST_RUNTIME environment variable. By default, tests run using the Docker runtime. | |
### How are they different from Unit Tests? | |
While unit tests in `tests/unit/` focus on testing individual components in isolation, runtime tests verify: | |
1. Integration between components | |
2. Actual execution of commands in different runtime environments | |
3. System-level interactions (file system, network, browser) | |
4. Environment setup and teardown | |
5. Tool functionality in real runtime contexts | |
### Running the Tests | |
Run all runtime tests: | |
```bash | |
poetry run pytest ./tests/runtime | |
``` | |
Run specific test file: | |
```bash | |
poetry run pytest ./tests/runtime/test_bash.py | |
``` | |
Run specific test: | |
```bash | |
poetry run pytest ./tests/runtime/test_bash.py::test_bash_command_env | |
``` | |
For verbose output, add the `-v` flag (more verbose: `-vv` and `-vvv`): | |
```bash | |
poetry run pytest -v ./tests/runtime/test_bash.py | |
``` | |
### Environment Variables | |
The runtime tests can be configured using environment variables: | |
- `TEST_IN_CI`: Set to 'True' when running in CI environment | |
- `TEST_RUNTIME`: Specify the runtime to test ('docker', 'local', 'remote', 'runloop', 'daytona') | |
- `RUN_AS_OPENHANDS`: Set to 'True' to run tests as openhands user (default), 'False' for root | |
- `SANDBOX_BASE_CONTAINER_IMAGE`: Specify a custom base container image for Docker runtime | |
For more details on pytest usage, see the [pytest documentation](https://docs.pytest.org/en/latest/contents.html). | |