Skip to content

## Test coverage: config

Test coverage: config.py env resolution

Add tests for resolve_env_python, resolve_env_all, set_python, _resolve_conda_python in src/projio/config.py.

What to test

  • resolve_env_python(): reads code.envs.<purpose> + code.conda_prefix from config, returns absolute path to binary. Test with mock config (no real conda needed).
  • resolve_env_all(): calls resolve_env_python for each standard env. Test fallback logic (projio ↔ docs).
  • set_python(): writes runtime.python_bin to config, regenerates projio.mk. Test with tmp_path fixture.
  • Edge cases: missing config, missing keys, Windows vs Unix bin paths.

Where

  • Source: src/projio/config.py:94-151 (resolve_env_*), 187-218 (set_python)
  • Tests: add to tests/test_config.py

Approach

Use tmp_path fixtures with YAML config files. No real conda envs needed — test path construction logic only. For set_python, mock _resolve_conda_python to avoid shelling out.

Batch Result

  • status: done
  • batch queue_id: fa9ae36ce1aa
  • session: bf8a344f-5f23-4791-ab7b-17a624a7fc7f
  • batch duration: 441.8s