mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-04 23:09:44 +01:00
By splitting dvc.cli into a module, we'll be able to share cli-related utilities, split parser-related stuffs into smaller parts, improve reusability and improve API for command extensions in the future.
30 lines
913 B
Python
30 lines
913 B
Python
import pytest
|
|
|
|
from dvc.cli import main
|
|
from dvc.lock import Lock, LockError
|
|
|
|
|
|
def test_with(tmp_dir, dvc, mocker):
|
|
# patching to speedup tests
|
|
mocker.patch("dvc.lock.DEFAULT_TIMEOUT", 0.01)
|
|
|
|
lockfile = tmp_dir / dvc.tmp_dir / "lock"
|
|
with Lock(lockfile):
|
|
with pytest.raises(LockError), Lock(lockfile):
|
|
pass
|
|
|
|
|
|
def test_cli(tmp_dir, dvc, mocker, caplog):
|
|
# patching to speedup tests
|
|
mocker.patch("dvc.lock.DEFAULT_TIMEOUT", 0.01)
|
|
|
|
expected_error_msg = (
|
|
"Unable to acquire lock. Most likely another DVC process is "
|
|
"running or was terminated abruptly. Check the page "
|
|
"<https://dvc.org/doc/user-guide/troubleshooting#lock-issue> "
|
|
"for other possible reasons and to learn how to resolve this."
|
|
)
|
|
with Lock(tmp_dir / dvc.tmp_dir / "lock"):
|
|
assert main(["add", "foo"]) == 1
|
|
assert expected_error_msg in caplog.text
|