# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # Test tasks (Rust + Python) [test] description = "Run all tests (Rust + Python)" depends = ["test:rust", "test:python"] [e2e] description = "Run all end-to-end tests (Rust + Python)" depends = ["e2e:rust", "e2e:python"] ["e2e:gpu"] description = "Run GPU end-to-end tests" depends = ["e2e:python:gpu"] ["test:rust"] description = "Run Rust tests" run = "cargo test --workspace --exclude openshell-vm" hide = true ["test:python"] description = "Run Python tests" depends = ["python:proto"] env = { UV_NO_SYNC = "1" } run = "uv run pytest python/" hide = true ["e2e:rust"] description = "Run Rust CLI e2e tests (requires a running cluster)" depends = ["cluster"] run = [ "cargo build -p openshell-cli --features openshell-core/dev-settings", # gateway_resume tests run in a dedicated CI job with their own cluster. "cargo test --manifest-path e2e/rust/Cargo.toml --features e2e -- --skip gateway_resume_scenarios", ] ["e2e:python"] description = "Run Python e2e tests (E2E_PARALLEL=N or 'auto'; default 5)" depends = ["python:proto", "cluster"] env = { UV_NO_SYNC = "1", PYTHONPATH = "python" } run = "uv run pytest -o python_files='test_*.py' -m 'not gpu' -n ${E2E_PARALLEL:-5} e2e/python" ["e2e:python:gpu"] description = "Run Python GPU e2e tests" depends = ["python:proto", "CLUSTER_GPU=1 cluster"] env = { UV_NO_SYNC = "1", PYTHONPATH = "python" } run = "uv run pytest -o python_files='test_*.py' -m gpu -n ${E2E_PARALLEL:-1} e2e/python" ["e2e:podman"] description = "Start a Podman-backed gateway and run smoke e2e (requires rootless Podman; pass -- --port=N to override)" depends = ["build:docker:supervisor-sideload"] run = "e2e/rust/e2e-podman.sh" ["e2e:vm"] description = "Start openshell-gateway with the VM compute driver and run the cluster-agnostic smoke e2e" run = "e2e/rust/e2e-vm.sh" ["e2e:docker"] description = "Run smoke e2e against a standalone gateway with the Docker compute driver" run = "e2e/rust/e2e-docker.sh"