-
Notifications
You must be signed in to change notification settings - Fork 5.3k
/
test_configs.py
58 lines (43 loc) · 1.26 KB
/
test_configs.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
import pytest
import pyarrow.fs
from ray.train import (
ScalingConfig,
FailureConfig,
CheckpointConfig,
RunConfig,
)
from ray.air.constants import MAX_REPR_LENGTH
@pytest.mark.parametrize(
"config",
[
ScalingConfig(),
ScalingConfig(use_gpu=True),
FailureConfig(),
FailureConfig(max_failures=2),
CheckpointConfig(),
CheckpointConfig(num_to_keep=1),
RunConfig(),
RunConfig(name="experiment"),
RunConfig(failure_config=FailureConfig()),
],
)
def test_repr(config):
representation = repr(config)
assert eval(representation) == config
assert len(representation) < MAX_REPR_LENGTH
def test_storage_filesystem_repr():
config = RunConfig(storage_filesystem=pyarrow.fs.S3FileSystem())
repr(config)
def test_failure_config_init():
FailureConfig(fail_fast=True)
FailureConfig(fail_fast=False)
FailureConfig(fail_fast="raise")
with pytest.raises(ValueError):
FailureConfig(fail_fast="fail")
FailureConfig(fail_fast=True, max_failures=0)
with pytest.raises(ValueError):
FailureConfig(fail_fast=True, max_failures=1)
if __name__ == "__main__":
import sys
import pytest
sys.exit(pytest.main(["-v", "-x", __file__]))