mirror of
https://github.com/wassname/ray.git
synced 2026-07-06 02:47:47 +08:00
Better checking that ray.init() has been called. (#10261)
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
import sys
|
||||
|
||||
import pytest
|
||||
|
||||
import ray
|
||||
|
||||
|
||||
def test_errors_before_initializing_ray():
|
||||
@ray.remote
|
||||
def f():
|
||||
pass
|
||||
|
||||
@ray.remote
|
||||
class Foo:
|
||||
pass
|
||||
|
||||
api_methods = [
|
||||
f.remote,
|
||||
Foo.remote,
|
||||
ray.actors,
|
||||
lambda: ray.cancel(None), # Not valid API usage.
|
||||
lambda: ray.get([]),
|
||||
lambda: ray.get_actor("name"),
|
||||
ray.get_gpu_ids,
|
||||
ray.get_resource_ids,
|
||||
ray.get_webui_url,
|
||||
ray.jobs,
|
||||
lambda: ray.kill(None), # Not valid API usage.
|
||||
ray.nodes,
|
||||
ray.objects,
|
||||
lambda: ray.put(1),
|
||||
lambda: ray.wait([])
|
||||
]
|
||||
|
||||
def test_exceptions_raised():
|
||||
for api_method in api_methods:
|
||||
print(api_method)
|
||||
with pytest.raises(
|
||||
ray.exceptions.RayConnectionError,
|
||||
match="Ray has not been started yet."):
|
||||
api_method()
|
||||
|
||||
test_exceptions_raised()
|
||||
|
||||
# Make sure that the exceptions are still raised after Ray has been
|
||||
# started and shutdown.
|
||||
ray.init(num_cpus=0)
|
||||
ray.shutdown()
|
||||
|
||||
test_exceptions_raised()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(pytest.main(["-v", __file__]))
|
||||
Reference in New Issue
Block a user