fix(tests): corrige comparación de versiones en test_ml_smoke.py

Soluciona el error en test_opencv_available donde las versiones se
comparaban como strings en vez de valores semánticos, causando que
4.11.0 fuera considerada menor que 4.8.0.

Cambios:
- Importa packaging.version para comparaciones correctas
- Modifica todas las comparaciones de versiones para usar version.parse()
- Añade packaging a las dependencias de testing en pyproject.toml

Esto asegura que versiones como 4.11.0 sean correctamente reconocidas
como superiores a 4.8.0.
This commit is contained in:
Claude 2025-11-17 16:06:21 +00:00
parent 27043e2b58
commit 843e09072f
No known key found for this signature in database
2 changed files with 8 additions and 6 deletions

View file

@ -112,6 +112,7 @@ testing = [
"daphne",
"factory-boy~=3.3.1",
"imagehash",
"packaging",
"pytest~=8.4.1",
"pytest-cov~=7.0.0",
"pytest-django~=4.11.1",

View file

@ -12,6 +12,7 @@ Task: TSK-CICD-AUDIT-001
"""
import pytest
from packaging import version
class TestMLDependenciesAvailable:
@ -21,7 +22,7 @@ class TestMLDependenciesAvailable:
"""Verify PyTorch is installed and importable."""
import torch
assert torch.__version__ >= "2.0.0", (
assert version.parse(torch.__version__) >= version.parse("2.0.0"), (
f"PyTorch version {torch.__version__} is too old. "
f"Minimum required: 2.0.0"
)
@ -30,7 +31,7 @@ class TestMLDependenciesAvailable:
"""Verify Transformers library is installed and importable."""
import transformers
assert transformers.__version__ >= "4.30.0", (
assert version.parse(transformers.__version__) >= version.parse("4.30.0"), (
f"Transformers version {transformers.__version__} is too old. "
f"Minimum required: 4.30.0"
)
@ -39,7 +40,7 @@ class TestMLDependenciesAvailable:
"""Verify OpenCV is installed and importable."""
import cv2
assert cv2.__version__ >= "4.8.0", (
assert version.parse(cv2.__version__) >= version.parse("4.8.0"), (
f"OpenCV version {cv2.__version__} is too old. "
f"Minimum required: 4.8.0"
)
@ -54,7 +55,7 @@ class TestMLDependenciesAvailable:
"""Verify scikit-learn is installed and importable."""
import sklearn
assert sklearn.__version__ >= "1.7.0", (
assert version.parse(sklearn.__version__) >= version.parse("1.7.0"), (
f"scikit-learn version {sklearn.__version__} is too old. "
f"Minimum required: 1.7.0"
)
@ -63,7 +64,7 @@ class TestMLDependenciesAvailable:
"""Verify NumPy is installed and importable."""
import numpy as np
assert np.__version__ >= "1.26.0", (
assert version.parse(np.__version__) >= version.parse("1.26.0"), (
f"NumPy version {np.__version__} is too old. "
f"Minimum required: 1.26.0"
)
@ -72,7 +73,7 @@ class TestMLDependenciesAvailable:
"""Verify Pandas is installed and importable."""
import pandas as pd
assert pd.__version__ >= "2.0.0", (
assert version.parse(pd.__version__) >= version.parse("2.0.0"), (
f"Pandas version {pd.__version__} is too old. "
f"Minimum required: 2.0.0"
)