Files
enginex-qwen25-compat/tests/test_release_plan.py

67 lines
2.4 KiB
Python
Raw Normal View History

import tempfile
import unittest
from pathlib import Path
from release_plan import GPU_GROUPS, plan_for_tag, write_gitea_env
class ReleasePlanTests(unittest.TestCase):
def test_one_vendor_tag_builds_only_that_image_and_gpu(self):
plan = plan_for_tag("v0.3.0-metax-c500")
self.assertEqual(plan.target, "metax-c500")
self.assertEqual(plan.image_targets, ("metax-c500",))
self.assertEqual(plan.gpu_types, ("MetaX_c-500",))
self.assertEqual(plan.verification_pairs, (("MetaX_c-500", "metax-c500"),))
def test_cambricon_cards_reuse_one_image(self):
plan = plan_for_tag("v0.3.0-cambricon-mlu370")
self.assertEqual(plan.image_targets, ("cambricon-mlu370",))
self.assertEqual(
plan.gpu_types,
("Cambricon_mlu-370-x4", "Cambricon_mlu-370-x8"),
)
self.assertEqual(
plan.verification_pairs,
(
("Cambricon_mlu-370-x4", "cambricon-mlu370"),
("Cambricon_mlu-370-x8", "cambricon-mlu370"),
),
)
def test_all_requires_explicit_suffix(self):
plan = plan_for_tag("v0.3.0-all")
self.assertEqual(plan.image_targets, tuple(GPU_GROUPS))
self.assertEqual(len(plan.gpu_types), 5)
self.assertEqual(len(set(plan.gpu_types)), 5)
def test_unscoped_or_unknown_tag_cannot_default_to_all(self):
for tag in (
"v0.3.0",
"v0.3.0-unknown",
"v0.3.0-metax-c500-extra",
"v0.3.0-all",
"latest",
):
with self.subTest(tag=tag), self.assertRaises(ValueError):
plan_for_tag(tag)
def test_gitea_env_contains_only_selected_targets(self):
with tempfile.TemporaryDirectory() as directory:
path = Path(directory) / "gitea_env"
path.write_text("FRAMEWORK=vllm_qwen25_compat\n", encoding="utf-8")
write_gitea_env(plan_for_tag("v0.3.0-vastai-va16"), path)
self.assertEqual(
path.read_text(encoding="utf-8").splitlines(),
[
"FRAMEWORK=vllm_qwen25_compat",
"RELEASE_TARGET=vastai-va16",
"IMAGE_TARGETS=vastai-va16",
"GPU_TYPES=Vastai_va16",
"VERIFY_PAIRS=Vastai_va16:vastai-va16",
],
)
if __name__ == "__main__":
unittest.main()