mirror of
https://github.com/wassname/ray.git
synced 2026-07-12 07:46:32 +08:00
Move serve and asyncio tests to bazel (#6979)
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
# coding: utf-8
|
||||
import pytest
|
||||
|
||||
import ray
|
||||
import ray.cluster_utils
|
||||
import ray.test_utils
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"ray_start_regular", [{
|
||||
"local_mode": True
|
||||
}, {
|
||||
"local_mode": False
|
||||
}],
|
||||
indirect=True)
|
||||
def test_args_force_positional(ray_start_regular):
|
||||
def force_positional(*, a="hello", b="helxo", **kwargs):
|
||||
return a, b, kwargs
|
||||
|
||||
class TestActor():
|
||||
def force_positional(self, a="hello", b="heo", *args, **kwargs):
|
||||
return a, b, args, kwargs
|
||||
|
||||
def test_function(fn, remote_fn):
|
||||
assert fn(a=1, b=3, c=5) == ray.get(remote_fn.remote(a=1, b=3, c=5))
|
||||
assert fn(a=1) == ray.get(remote_fn.remote(a=1))
|
||||
assert fn(a=1) == ray.get(remote_fn.remote(a=1))
|
||||
|
||||
remote_test_function = ray.remote(test_function)
|
||||
|
||||
remote_force_positional = ray.remote(force_positional)
|
||||
test_function(force_positional, remote_force_positional)
|
||||
ray.get(
|
||||
remote_test_function.remote(force_positional, remote_force_positional))
|
||||
|
||||
remote_actor_class = ray.remote(TestActor)
|
||||
remote_actor = remote_actor_class.remote()
|
||||
actor_method = remote_actor.force_positional
|
||||
local_actor = TestActor()
|
||||
local_method = local_actor.force_positional
|
||||
test_function(local_method, actor_method)
|
||||
ray.get(remote_test_function.remote(local_method, actor_method))
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"ray_start_regular", [{
|
||||
"local_mode": False
|
||||
}, {
|
||||
"local_mode": True
|
||||
}],
|
||||
indirect=True)
|
||||
def test_args_intertwined(ray_start_regular):
|
||||
def args_intertwined(a, *args, x="hello", **kwargs):
|
||||
return a, args, x, kwargs
|
||||
|
||||
class TestActor():
|
||||
def args_intertwined(self, a, *args, x="hello", **kwargs):
|
||||
return a, args, x, kwargs
|
||||
|
||||
@classmethod
|
||||
def cls_args_intertwined(cls, a, *args, x="hello", **kwargs):
|
||||
return a, args, x, kwargs
|
||||
|
||||
def test_function(fn, remote_fn):
|
||||
assert fn(
|
||||
1, 2, 3, x="hi", y="hello") == ray.get(
|
||||
remote_fn.remote(1, 2, 3, x="hi", y="hello"))
|
||||
assert fn(
|
||||
1, 2, 3, y="1hello") == ray.get(
|
||||
remote_fn.remote(1, 2, 3, y="1hello"))
|
||||
assert fn(1, y="1hello") == ray.get(remote_fn.remote(1, y="1hello"))
|
||||
|
||||
remote_test_function = ray.remote(test_function)
|
||||
|
||||
remote_args_intertwined = ray.remote(args_intertwined)
|
||||
test_function(args_intertwined, remote_args_intertwined)
|
||||
ray.get(
|
||||
remote_test_function.remote(args_intertwined, remote_args_intertwined))
|
||||
|
||||
remote_actor_class = ray.remote(TestActor)
|
||||
remote_actor = remote_actor_class.remote()
|
||||
actor_method = remote_actor.args_intertwined
|
||||
local_actor = TestActor()
|
||||
local_method = local_actor.args_intertwined
|
||||
test_function(local_method, actor_method)
|
||||
ray.get(remote_test_function.remote(local_method, actor_method))
|
||||
|
||||
actor_method = remote_actor.cls_args_intertwined
|
||||
local_actor = TestActor()
|
||||
local_method = local_actor.cls_args_intertwined
|
||||
test_function(local_method, actor_method)
|
||||
ray.get(remote_test_function.remote(local_method, actor_method))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import pytest
|
||||
import sys
|
||||
sys.exit(pytest.main(["-v", __file__]))
|
||||
Reference in New Issue
Block a user