fix(tests): Remove --forked for accurate coverage reporting

Remove pytest-forked in favor of pytest-xdist only for parallel test
execution. This should improve coverage accuracy by ensuring coverage
data is properly collected from all worker processes.

When using both --forked and -n auto together, coverage data from the
inner forked processes created by pytest-forked may not be collected
properly by pytest-cov, as the coverage plugin only has special handling
for xdist workers.

This follows the same approach as OpenHands/software-agent-sdk#1658 which
fixed near-0% coverage reporting issues.

Changes:
- Remove --forked flag from pytest commands in py-tests.yml
- Remove pytest-forked from test dependencies in pyproject.toml
- Remove pytest-forked from enterprise/pyproject.toml
This commit is contained in:
openhands
2026-03-10 00:08:14 +00:00
parent e12dd924ce
commit 27bb016c94
3 changed files with 2 additions and 5 deletions

View File

@@ -55,7 +55,7 @@ jobs:
- name: Build Environment
run: make build
- name: Run Unit Tests
run: PYTHONPATH=".:$PYTHONPATH" poetry run pytest --forked -n auto -s ./tests/unit --cov=openhands --cov-branch
run: PYTHONPATH=".:$PYTHONPATH" poetry run pytest -n auto -s ./tests/unit --cov=openhands --cov-branch
env:
COVERAGE_FILE: ".coverage.${{ matrix.python_version }}"
- name: Run Runtime Tests with CLIRuntime
@@ -91,7 +91,7 @@ jobs:
run: poetry install --with dev,test
- name: Run Unit Tests
# Use base working directory for coverage paths to line up.
run: PYTHONPATH=".:$PYTHONPATH" poetry run --project=enterprise pytest --forked -n auto -s -p no:ddtrace -p no:ddtrace.pytest_bdd -p no:ddtrace.pytest_benchmark ./enterprise/tests/unit --cov=enterprise --cov-branch
run: PYTHONPATH=".:$PYTHONPATH" poetry run --project=enterprise pytest -n auto -s -p no:ddtrace -p no:ddtrace.pytest_bdd -p no:ddtrace.pytest_benchmark ./enterprise/tests/unit --cov=enterprise --cov-branch
env:
COVERAGE_FILE: ".coverage.enterprise.${{ matrix.python_version }}"
- name: Store coverage file

View File

@@ -61,7 +61,6 @@ types-requests = "^2.32.4.20250611"
pytest = "*"
pytest-cov = "*"
pytest-asyncio = "*"
pytest-forked = "*"
pytest-xdist = "*"
flake8 = "*"
openai = "*"

View File

@@ -130,7 +130,6 @@ test = [
"pytest",
"pytest-asyncio",
"pytest-cov",
"pytest-forked",
"pytest-playwright>=0.7",
"pytest-timeout>=2.4",
"pytest-xdist",
@@ -281,7 +280,6 @@ optional = true
pytest = "*"
pytest-cov = "*"
pytest-asyncio = "*"
pytest-forked = "*"
pytest-xdist = "*"
pytest-playwright = "^0.7.0"
pytest-timeout = "^2.4.0"