mirror of
https://github.com/wassname/ray.git
synced 2026-08-14 12:40:23 +08:00
Remove type information from remote decorator.
This commit is contained in:
+23
-23
@@ -4,60 +4,60 @@ import numpy as np
|
||||
|
||||
# Test simple functionality
|
||||
|
||||
@ray.remote([int, int], [int, int])
|
||||
@ray.remote(num_return_vals=2)
|
||||
def handle_int(a, b):
|
||||
return a + 1, b + 1
|
||||
|
||||
# Test aliasing
|
||||
|
||||
@ray.remote([], [np.ndarray])
|
||||
@ray.remote()
|
||||
def test_alias_f():
|
||||
return np.ones([3, 4, 5])
|
||||
|
||||
@ray.remote([], [np.ndarray])
|
||||
@ray.remote()
|
||||
def test_alias_g():
|
||||
return test_alias_f.remote()
|
||||
|
||||
@ray.remote([], [np.ndarray])
|
||||
@ray.remote()
|
||||
def test_alias_h():
|
||||
return test_alias_g.remote()
|
||||
|
||||
# Test timing
|
||||
|
||||
@ray.remote([], [])
|
||||
@ray.remote()
|
||||
def empty_function():
|
||||
pass
|
||||
|
||||
@ray.remote([], [int])
|
||||
@ray.remote()
|
||||
def trivial_function():
|
||||
return 1
|
||||
|
||||
# Test keyword arguments
|
||||
|
||||
@ray.remote([int, str], [str])
|
||||
@ray.remote()
|
||||
def keyword_fct1(a, b="hello"):
|
||||
return "{} {}".format(a, b)
|
||||
|
||||
@ray.remote([str, str], [str])
|
||||
@ray.remote()
|
||||
def keyword_fct2(a="hello", b="world"):
|
||||
return "{} {}".format(a, b)
|
||||
|
||||
@ray.remote([int, int, str, str], [str])
|
||||
@ray.remote()
|
||||
def keyword_fct3(a, b, c="hello", d="world"):
|
||||
return "{} {} {} {}".format(a, b, c, d)
|
||||
|
||||
# Test variable numbers of arguments
|
||||
|
||||
@ray.remote([int], [str])
|
||||
@ray.remote()
|
||||
def varargs_fct1(*a):
|
||||
return " ".join(map(str, a))
|
||||
|
||||
@ray.remote([int, int], [str])
|
||||
@ray.remote()
|
||||
def varargs_fct2(a, *b):
|
||||
return " ".join(map(str, b))
|
||||
|
||||
try:
|
||||
@ray.remote([int], [])
|
||||
@ray.remote()
|
||||
def kwargs_throw_exception(**c):
|
||||
return ()
|
||||
kwargs_exception_thrown = False
|
||||
@@ -65,7 +65,7 @@ except:
|
||||
kwargs_exception_thrown = True
|
||||
|
||||
try:
|
||||
@ray.remote([int, str, int], [str])
|
||||
@ray.remote()
|
||||
def varargs_and_kwargs_throw_exception(a, b="hi", *c):
|
||||
return "{} {} {}".format(a, b, c)
|
||||
varargs_and_kwargs_exception_thrown = False
|
||||
@@ -74,46 +74,46 @@ except:
|
||||
|
||||
# test throwing an exception
|
||||
|
||||
@ray.remote([], [])
|
||||
@ray.remote()
|
||||
def throw_exception_fct1():
|
||||
raise Exception("Test function 1 intentionally failed.")
|
||||
|
||||
@ray.remote([], [int])
|
||||
@ray.remote()
|
||||
def throw_exception_fct2():
|
||||
raise Exception("Test function 2 intentionally failed.")
|
||||
|
||||
@ray.remote([float], [int, str, np.ndarray])
|
||||
@ray.remote(num_return_vals=3)
|
||||
def throw_exception_fct3(x):
|
||||
raise Exception("Test function 3 intentionally failed.")
|
||||
|
||||
# test Python mode
|
||||
|
||||
@ray.remote([], [np.ndarray])
|
||||
@ray.remote()
|
||||
def python_mode_f():
|
||||
return np.array([0, 0])
|
||||
|
||||
@ray.remote([np.ndarray], [np.ndarray])
|
||||
@ray.remote()
|
||||
def python_mode_g(x):
|
||||
x[0] = 1
|
||||
return x
|
||||
|
||||
# test no return values
|
||||
|
||||
@ray.remote([], [])
|
||||
@ray.remote()
|
||||
def no_op():
|
||||
pass
|
||||
|
||||
@ray.remote([], [])
|
||||
@ray.remote()
|
||||
def no_op_fail():
|
||||
return 0
|
||||
|
||||
# test wrong return types
|
||||
|
||||
@ray.remote([], [int])
|
||||
@ray.remote()
|
||||
def test_return1():
|
||||
return 0.0
|
||||
|
||||
@ray.remote([], [int, float])
|
||||
@ray.remote(num_return_vals=2)
|
||||
def test_return2():
|
||||
return 2.0, 3.0
|
||||
|
||||
@@ -121,6 +121,6 @@ class TestClass(object):
|
||||
def __init__(self):
|
||||
self.a = 5
|
||||
|
||||
@ray.remote([], [TestClass])
|
||||
@ray.remote()
|
||||
def test_unknown_type():
|
||||
return TestClass()
|
||||
|
||||
Reference in New Issue
Block a user