/
test_settings.py
84 lines (57 loc) 路 2.23 KB
/
test_settings.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import os
import pytest
from click.testing import CliRunner
import wandb.util as util
from wandb.settings import Settings
from wandb import env
def test_read_empty_settings():
settings = Settings()
assert settings.get(Settings.DEFAULT_SECTION, 'foo', fallback=None) is None
def test_read_global_setting(global_wandb_settings):
global_wandb_settings.write("[default]\nfoo = bar\n")
global_wandb_settings.flush()
settings = Settings()
assert settings.get(Settings.DEFAULT_SECTION, 'foo') == 'bar'
def test_read_local_setting(global_wandb_settings, local_wandb_settings):
global_wandb_settings.write("[default]\nfoo = baz\n")
global_wandb_settings.flush()
local_wandb_settings.write("[default]\nfoo = bar\n")
local_wandb_settings.flush()
settings = Settings()
assert settings.get(Settings.DEFAULT_SECTION, 'foo') == 'bar'
def test_write_setting_globally(global_wandb_settings):
settings = Settings()
settings.set(Settings.DEFAULT_SECTION, 'foo', 'bar', globally=True)
with open(global_wandb_settings.name, "r") as f:
data = f.read()
assert "[default]" in data
assert "foo = bar" in data
def test_write_setting_locally(local_wandb_settings):
settings = Settings()
settings.set(Settings.DEFAULT_SECTION, 'foo', 'bar')
with open(local_wandb_settings.name, "r") as f:
data = f.read()
assert "[default]" in data
assert "foo = bar" in data
def test_items(global_wandb_settings, local_wandb_settings):
global_wandb_settings.write("[default]\nfoo = baz\n")
global_wandb_settings.flush()
local_wandb_settings.write("[default]\nfoo = bar\n")
local_wandb_settings.flush()
settings = Settings()
assert settings.items() == {
'section': Settings.DEFAULT_SECTION,
'foo': 'bar',
}
@pytest.fixture
def global_wandb_settings(tmpdir):
os.environ[env.CONFIG_DIR] = tmpdir.strpath
with open(os.path.join(tmpdir.strpath, 'settings'), "w+") as f:
yield f
del os.environ[env.CONFIG_DIR]
@pytest.fixture
def local_wandb_settings():
with CliRunner().isolated_filesystem():
util.mkdir_exists_ok('wandb')
with open(os.path.join('wandb', 'settings'), 'w+') as f:
yield f