(tox_project: ToxProjectCreator)
| 290 | |
| 291 | |
| 292 | def test_provision_acquires_file_lock(tox_project: ToxProjectCreator) -> None: |
| 293 | lock_held_during_provision: dict[str, bool] = {} |
| 294 | |
| 295 | def _check_lock(request: ExecuteRequest) -> int | None: |
| 296 | if request.run_id == "provision": |
| 297 | env_dir = request.env.get("TOX_ENV_DIR", "") |
| 298 | lock_path = Path(env_dir) / "file.lock" |
| 299 | lock_held_during_provision["held"] = lock_path.exists() |
| 300 | return 0 |
| 301 | return 0 if "install" in request.run_id else None |
| 302 | |
| 303 | project = tox_project({"tox.ini": "[tox]\nrequires = tox<4.14\n[testenv]\npackage = skip"}) |
| 304 | project.patch_execute(_check_lock) |
| 305 | project.run("r") |
| 306 | assert lock_held_during_provision.get("held") is True |
| 307 | |
| 308 | |
| 309 | def test_provision_unrecognized_args_no_provision(tox_project: ToxProjectCreator) -> None: |
nothing calls this directly
no test coverage detected
searching dependent graphs…