chore: import upstream snapshot with attribution

This commit is contained in:
wehub-resource-sync
2026-07-13 13:17:40 +08:00
commit f1825c8ceb
10096 changed files with 2364182 additions and 0 deletions
+209
View File
@@ -0,0 +1,209 @@
import os
import subprocess
import sys
from pathlib import Path
import pytest
import ray
import ray._private.ray_constants as ray_constants
import ray._private.services as services
from ray._common.test_utils import wait_for_condition
@pytest.fixture
def ray_gdb_start():
# Setup environment and start ray
_environ = os.environ.copy()
for process_name in ["RAYLET", "PLASMA_STORE"]:
os.environ["RAY_{}_GDB".format(process_name)] = "1"
os.environ["RAY_{}_TMUX".format(process_name)] = "1"
yield None
# Restore original environment and stop ray
os.environ.clear()
os.environ.update(_environ)
ray.shutdown()
@pytest.mark.skipif(
sys.platform != "linux" and sys.platform != "linux2",
reason="This test requires Linux.",
)
def test_raylet_gdb(ray_gdb_start):
# ray_gdb_start yields the expected process name
ray.init(num_cpus=1)
@ray.remote
def f():
return 42
assert ray.get(f.remote()) == 42
# Check process name in `ps aux | grep gdb`
pgrep_command = subprocess.Popen(
["pgrep", "-f", "gdb.*raylet/raylet"],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
)
assert pgrep_command.communicate()[0]
@pytest.mark.skipif(sys.platform == "win32", reason="memray not supported in win32")
@pytest.mark.skipif(sys.platform == "darwin", reason="memray not supported in Darwin")
def test_memory_profiler_command_builder(monkeypatch, tmp_path):
session_dir = tmp_path
# When there's no env var, command should be just a regular python command.
command = services._build_python_executable_command_memory_profileable(
ray_constants.PROCESS_TYPE_DASHBOARD, session_dir
)
assert command == [sys.executable, "-u"]
with monkeypatch.context() as m:
m.setenv(services.RAY_MEMRAY_PROFILE_COMPONENT_ENV, "dashboard")
m.setenv(services.RAY_MEMRAY_PROFILE_OPTIONS_ENV, "-q")
command = services._build_python_executable_command_memory_profileable(
ray_constants.PROCESS_TYPE_DASHBOARD, session_dir
)
assert command == [
sys.executable,
"-u",
"-m",
"memray",
"run",
"-o",
str(
Path(tmp_path)
/ "profile"
/ f"{Path(tmp_path).name}_memory_dashboard.bin"
), # noqa
"-q",
]
# Test with explicit -o path
m.delenv(services.RAY_MEMRAY_PROFILE_COMPONENT_ENV)
m.delenv(services.RAY_MEMRAY_PROFILE_OPTIONS_ENV)
m.setenv(services.RAY_MEMRAY_PROFILE_COMPONENT_ENV, "dashboard")
m.setenv(services.RAY_MEMRAY_PROFILE_OPTIONS_ENV, "-o,/custom/path.bin,-q")
command = services._build_python_executable_command_memory_profileable(
ray_constants.PROCESS_TYPE_DASHBOARD, session_dir
)
assert command == [
sys.executable,
"-u",
"-m",
"memray",
"run",
"-o",
"/custom/path.bin",
"-q",
]
# Test with explicit --output path
m.delenv(services.RAY_MEMRAY_PROFILE_COMPONENT_ENV)
m.delenv(services.RAY_MEMRAY_PROFILE_OPTIONS_ENV)
m.setenv(services.RAY_MEMRAY_PROFILE_COMPONENT_ENV, "dashboard")
m.setenv(
services.RAY_MEMRAY_PROFILE_OPTIONS_ENV, "--output,/custom/path.bin,-q"
)
command = services._build_python_executable_command_memory_profileable(
ray_constants.PROCESS_TYPE_DASHBOARD, session_dir
)
assert command == [
sys.executable,
"-u",
"-m",
"memray",
"run",
"--output",
"/custom/path.bin",
"-q",
]
m.delenv(services.RAY_MEMRAY_PROFILE_COMPONENT_ENV)
m.delenv(services.RAY_MEMRAY_PROFILE_OPTIONS_ENV)
m.setenv(services.RAY_MEMRAY_PROFILE_COMPONENT_ENV, "dashboard,dashboard_agent")
m.setenv(services.RAY_MEMRAY_PROFILE_OPTIONS_ENV, "-q,--live,--live-port,1234")
command = services._build_python_executable_command_memory_profileable(
ray_constants.PROCESS_TYPE_DASHBOARD_AGENT, session_dir
)
assert command == [
sys.executable,
"-u",
"-m",
"memray",
"run",
"-q",
"--live",
"--live-port",
"1234",
]
@pytest.mark.skipif(sys.platform == "win32", reason="memray not supported in win32")
@pytest.mark.skipif(sys.platform == "darwin", reason="memray not supported in Darwin")
def test_memory_profile_dashboard_and_agent(monkeypatch, shutdown_only):
with monkeypatch.context() as m:
m.setenv(services.RAY_MEMRAY_PROFILE_COMPONENT_ENV, "dashboard,dashboard_agent")
m.setenv(services.RAY_MEMRAY_PROFILE_OPTIONS_ENV, "-q")
addr = ray.init()
def verify():
session_dir = Path(addr["session_dir"])
profile_dir = session_dir / "profile"
assert profile_dir.exists()
files = []
for f in profile_dir.iterdir():
files.append(f.name)
assert len(files) == 2
assert f"{session_dir.name}_memory_dashboard.bin" in files
assert f"{session_dir.name}_memory_dashboard_agent.bin" in files
return True
wait_for_condition(verify)
def test_start_ray_client_server_redis_password_env_updates(monkeypatch):
captured = {}
expected_process_info = object()
def fake_start_ray_process(command, process_type, **kwargs):
captured["command"] = command
captured["process_type"] = process_type
captured["kwargs"] = kwargs
return expected_process_info
with monkeypatch.context() as m:
m.setattr(services, "start_ray_process", fake_start_ray_process)
m.delenv(ray_constants.RAY_REDIS_PASSWORD_ENV, raising=False)
process_info = services.start_ray_client_server(
address="127.0.0.1:6379",
ray_client_server_ip="127.0.0.1",
ray_client_server_port=10001,
redis_username="redis-user",
redis_password="secret123",
fate_share=False,
runtime_env_agent_address="127.0.0.1:12345",
node_id="node-1",
)
assert process_info is expected_process_info
assert captured["process_type"] == ray_constants.PROCESS_TYPE_RAY_CLIENT_SERVER
assert "--redis-username=redis-user" in captured["command"]
assert not any(
arg.startswith("--redis-password=") for arg in captured["command"]
)
assert captured["kwargs"]["env_updates"] == {
ray_constants.RAY_REDIS_PASSWORD_ENV: "secret123"
}
assert ray_constants.RAY_REDIS_PASSWORD_ENV not in os.environ
if __name__ == "__main__":
# Make subprocess happy in bazel.
os.environ["LC_ALL"] = "en_US.UTF-8"
os.environ["LANG"] = "en_US.UTF-8"
sys.exit(pytest.main(["-sv", __file__]))