test_template.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import pytest
  2. import sys
  3. from ray_release.config import Test
  4. from ray_release.exception import ReleaseTestConfigError
  5. from ray_release.template import populate_cluster_env_variables, render_yaml_template
  6. TEST_APP_CONFIG_CPU = """
  7. base_image: {{ env["RAY_IMAGE_NIGHTLY_CPU"] | default("anyscale/ray:nightly-py37") }}
  8. env_vars: {}
  9. debian_packages:
  10. - curl
  11. """
  12. TEST_APP_CONFIG_GPU = """
  13. base_image: {{ env["RAY_IMAGE_ML_NIGHTLY_GPU"] | default("anyscale/ray-ml:nightly-py37-gpu") }}
  14. env_vars: {}
  15. debian_packages:
  16. - curl
  17. """ # noqa: E501
  18. def test_python_version_default_cpu():
  19. test = Test()
  20. env = populate_cluster_env_variables(test, ray_wheels_url="")
  21. result = render_yaml_template(TEST_APP_CONFIG_CPU, env=env)
  22. assert result["base_image"] == "anyscale/ray:nightly-py37"
  23. def test_python_version_39_cpu():
  24. test = Test(python="3.9")
  25. env = populate_cluster_env_variables(test, ray_wheels_url="")
  26. result = render_yaml_template(TEST_APP_CONFIG_CPU, env=env)
  27. assert result["base_image"] == "anyscale/ray:nightly-py39"
  28. def test_python_version_default_gpu():
  29. test = Test()
  30. env = populate_cluster_env_variables(test, ray_wheels_url="")
  31. result = render_yaml_template(TEST_APP_CONFIG_GPU, env=env)
  32. assert result["base_image"] == "anyscale/ray-ml:nightly-py37-gpu"
  33. def test_python_version_39_gpu():
  34. test = Test(python="3.9")
  35. env = populate_cluster_env_variables(test, ray_wheels_url="")
  36. result = render_yaml_template(TEST_APP_CONFIG_GPU, env=env)
  37. assert result["base_image"] == "anyscale/ray-ml:nightly-py39-gpu"
  38. def test_python_version_invalid():
  39. test = Test(python="3.x")
  40. with pytest.raises(ReleaseTestConfigError):
  41. populate_cluster_env_variables(test, ray_wheels_url="")
  42. if __name__ == "__main__":
  43. sys.exit(pytest.main(["-v", __file__]))