mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
* dvc: refactor config
Advantages:
- read like a dict
- modify as a dict for testing or manipulation purposes
- wrap modifications into context manager to save them:
with config.edit("local") as conf:
conf["core"]["remote"] = "new-default"
Design decisions:
- dropped string constants
- remote sections are parsed into a simple subdict upon load
- remote config schema is now defined by url scheme
- relative paths are handled transparently upon load/save
- user config and remote manipulations are moved to commands
- same dev manipulations are done by simply modifying a config dict
* test: do not set cache.type for remotes that doesn't support it
* dvc: fix windows absolute paths validation in config
* test: fix windows separate drive test
* dvc: stylistic fixes in config
28 lines
846 B
Python
28 lines
846 B
Python
from dvc.remote import Remote
|
|
|
|
|
|
def test_remote_with_checksum_jobs(dvc):
|
|
dvc.config["remote"]["with_checksum_jobs"] = {
|
|
"url": "s3://bucket/name",
|
|
"checksum_jobs": 100,
|
|
}
|
|
dvc.config["core"]["checksum_jobs"] = 200
|
|
|
|
remote = Remote(dvc, name="with_checksum_jobs")
|
|
assert remote.checksum_jobs == 100
|
|
|
|
|
|
def test_remote_without_checksum_jobs(dvc):
|
|
dvc.config["remote"]["without_checksum_jobs"] = {"url": "s3://bucket/name"}
|
|
dvc.config["core"]["checksum_jobs"] = 200
|
|
|
|
remote = Remote(dvc, name="without_checksum_jobs")
|
|
assert remote.checksum_jobs == 200
|
|
|
|
|
|
def test_remote_without_checksum_jobs_default(dvc):
|
|
dvc.config["remote"]["without_checksum_jobs"] = {"url": "s3://bucket/name"}
|
|
|
|
remote = Remote(dvc, name="without_checksum_jobs")
|
|
assert remote.checksum_jobs == remote.CHECKSUM_JOBS
|