Files
2026-07-13 13:17:40 +08:00

306 lines
6.7 KiB
Python

load("@rules_python//python:defs.bzl", "py_library", "py_test")
load("//bazel:python.bzl", "doctest")
doctest(
name = "py_doctest[air]",
env = {"RAY_TRAIN_V2_ENABLED": "1"},
files = glob(
["**/*.py"],
exclude = glob([
"examples/**/*",
"tests/**/*",
"callbacks/*.py",
]) + ["integrations/wandb.py"],
),
tags = ["team:ml"],
)
py_library(
name = "conftest",
srcs = ["tests/conftest.py"],
)
# --------------------------------------------------------------------
# Tests from the python/ray/air/tests directory.
# Covers all tests starting with `test_`.
# Please keep these sorted alphabetically.
# --------------------------------------------------------------------
py_test(
name = "test_air_usage",
size = "small",
srcs = ["tests/test_air_usage.py"],
# NOTE: This tests Train V1 telemetry.
env = {"RAY_TRAIN_V2_ENABLED": "0"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_new_dataset_config",
size = "large",
srcs = ["tests/test_new_dataset_config.py"],
# NOTE: Relevant tests moved to train/v2/tests/test_data_integration.py
env = {"RAY_TRAIN_V2_ENABLED": "0"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_experiment_restore",
size = "large",
srcs = [
"tests/_test_experiment_restore_run.py",
"tests/test_experiment_restore.py",
],
# NOTE: This tests Tune and Train V1 restoration.
env = {"RAY_TRAIN_V2_ENABLED": "0"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_errors",
size = "medium",
srcs = ["tests/test_errors.py"],
# NOTE: This tests Tune (Train V1) error propagation logic.
env = {"RAY_TRAIN_V2_ENABLED": "0"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_integration_comet",
size = "small",
srcs = ["tests/test_integration_comet.py"],
# NOTE: This tests the Tune Comet callback.
env = {"RAY_TRAIN_V2_ENABLED": "0"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_integration_wandb",
size = "small",
srcs = ["tests/test_integration_wandb.py"],
# NOTE: This tests the Tune wandb callback.
env = {"RAY_TRAIN_V2_ENABLED": "0"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_integration_mlflow",
size = "medium",
srcs = ["tests/test_integration_mlflow.py"],
# NOTE: This tests the Tune mlflow callback.
env = {"RAY_TRAIN_V2_ENABLED": "1"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_keras_callback",
size = "medium",
srcs = ["tests/test_keras_callback.py"],
env = {
"RAY_TRAIN_V2_ENABLED": "1",
"TF_USE_LEGACY_KERAS": "1",
},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_remote_storage_hdfs",
size = "small",
srcs = ["tests/test_remote_storage_hdfs.py"],
env = {"RAY_TRAIN_V2_ENABLED": "1"},
tags = [
"exclusive",
"hdfs",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_tracebacks",
size = "small",
srcs = ["tests/test_tracebacks.py"],
env = {"RAY_TRAIN_V2_ENABLED": "1"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_utils",
size = "small",
srcs = ["tests/test_utils.py"],
env = {"RAY_TRAIN_V2_ENABLED": "1"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
# --------------------------------------------------------------------
# Tests from the python/ray/air/tests/execution directory.
# Covers all tests starting with `test_`.
# Please keep these sorted alphabetically.
# TODO: Move this to Tune.
# --------------------------------------------------------------------
py_test(
name = "test_barrier",
size = "small",
srcs = ["tests/execution/test_barrier.py"],
env = {"RAY_TRAIN_V2_ENABLED": "1"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_e2e_train_flow",
size = "medium",
srcs = ["tests/execution/test_e2e_train_flow.py"],
env = {"RAY_TRAIN_V2_ENABLED": "1"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_e2e_tune_flow",
size = "medium",
srcs = ["tests/execution/test_e2e_tune_flow.py"],
env = {"RAY_TRAIN_V2_ENABLED": "1"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_event_manager",
size = "medium",
srcs = ["tests/execution/test_event_manager.py"],
env = {"RAY_TRAIN_V2_ENABLED": "1"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_resource_manager_fixed",
size = "small",
srcs = ["tests/execution/test_resource_manager_fixed.py"],
env = {"RAY_TRAIN_V2_ENABLED": "1"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_resource_manager_placement_group",
size = "medium",
srcs = ["tests/execution/test_resource_manager_placement_group.py"],
env = {"RAY_TRAIN_V2_ENABLED": "1"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_resource_request",
size = "small",
srcs = ["tests/execution/test_resource_request.py"],
env = {"RAY_TRAIN_V2_ENABLED": "1"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_tracked_actor",
size = "small",
srcs = ["tests/execution/test_tracked_actor.py"],
env = {"RAY_TRAIN_V2_ENABLED": "1"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
py_test(
name = "test_tracked_actor_task",
size = "small",
srcs = ["tests/execution/test_tracked_actor_task.py"],
env = {"RAY_TRAIN_V2_ENABLED": "1"},
tags = [
"exclusive",
"team:ml",
],
deps = [":ml_lib"],
)
# This is a dummy test dependency that causes the above tests to be
# re-run if any of these files changes.
py_library(
name = "ml_lib",
srcs = glob(
["**/*.py"],
exclude = ["tests/*.py"],
),
visibility = [
"//python/ray/air:__pkg__",
"//python/ray/air:__subpackages__",
"//python/ray/train:__pkg__",
"//python/ray/train:__subpackages__",
"//release:__pkg__",
],
)