mirror of
https://github.com/wassname/ray.git
synced 2026-07-13 09:15:06 +08:00
[Projects] Add "session execute" (#5681)
This commit is contained in:
@@ -12,7 +12,7 @@ import sys
|
||||
|
||||
from contextlib import contextmanager
|
||||
|
||||
from ray.projects.scripts import start
|
||||
from ray.projects.scripts import session_start, session_execute
|
||||
import ray
|
||||
|
||||
if sys.version_info >= (3, 3):
|
||||
@@ -101,7 +101,7 @@ def run_test_project(project_dir, command, args):
|
||||
|
||||
def test_session_start_default_project():
|
||||
result, mock_calls, test_dir = run_test_project(
|
||||
"session-tests/project-pass", start, [])
|
||||
"session-tests/project-pass", session_start, ["default"])
|
||||
|
||||
loaded_project = ray.projects.ProjectDefinition(test_dir)
|
||||
assert result.exit_code == 0
|
||||
@@ -143,9 +143,32 @@ def test_session_start_default_project():
|
||||
assert expected_commands == commands_executed
|
||||
|
||||
|
||||
def test_session_execute_default_project():
|
||||
result, mock_calls, test_dir = run_test_project(
|
||||
"session-tests/project-pass", session_execute, ["default"])
|
||||
|
||||
loaded_project = ray.projects.ProjectDefinition(test_dir)
|
||||
assert result.exit_code == 0
|
||||
|
||||
assert mock_calls["rsync"].call_count == 0
|
||||
assert mock_calls["create_or_update_cluster"].call_count == 0
|
||||
|
||||
exec_cluster_call = mock_calls["exec_cluster"]
|
||||
commands_executed = []
|
||||
for _, kwargs in exec_cluster_call.call_args_list:
|
||||
commands_executed.append(kwargs["cmd"].replace(
|
||||
"cd {}; ".format(loaded_project.working_directory()), ""))
|
||||
|
||||
expected_commands = [
|
||||
command["command"] for command in loaded_project.config["commands"]
|
||||
]
|
||||
|
||||
assert expected_commands == commands_executed
|
||||
|
||||
|
||||
def test_session_start_docker_fail():
|
||||
result, _, _ = run_test_project("session-tests/with-docker-fail", start,
|
||||
[])
|
||||
result, _, _ = run_test_project("session-tests/with-docker-fail",
|
||||
session_start, [])
|
||||
|
||||
assert result.exit_code == 1
|
||||
assert ("Docker support in session is currently "
|
||||
@@ -153,8 +176,8 @@ def test_session_start_docker_fail():
|
||||
|
||||
|
||||
def test_session_invalid_config_errored():
|
||||
result, _, _ = run_test_project("session-tests/invalid-config-fail", start,
|
||||
[])
|
||||
result, _, _ = run_test_project("session-tests/invalid-config-fail",
|
||||
session_start, [])
|
||||
|
||||
assert result.exit_code == 1
|
||||
assert "validation failed" in result.output
|
||||
@@ -164,7 +187,7 @@ def test_session_invalid_config_errored():
|
||||
|
||||
def test_session_create_command():
|
||||
result, mock_calls, test_dir = run_test_project(
|
||||
"session-tests/commands-test", start,
|
||||
"session-tests/commands-test", session_start,
|
||||
["first", "--a", "1", "--b", "2"])
|
||||
|
||||
# Verify the project can be loaded.
|
||||
|
||||
Reference in New Issue
Block a user