Spaces:
Sleeping
Sleeping
| """Smoke tests for the Gradio app — import-level checks only.""" | |
| import pytest | |
| def test_app_module_imports(): | |
| """Verify lightweight source modules can be imported without error.""" | |
| import src.config # noqa: F401 | |
| import src.parsing # noqa: F401 | |
| import src.prompts # noqa: F401 | |
| def test_config_values(): | |
| from src.config import APP_SUBTITLE, APP_TITLE, COORD_MAX, MODEL_ID | |
| assert MODEL_ID == "nvidia/LocateAnything-3B" | |
| assert COORD_MAX == 1000 | |
| assert len(APP_TITLE) > 0 | |
| assert len(APP_SUBTITLE) > 0 | |
| def test_visualization_import(): | |
| """Verify visualization module imports.""" | |
| import src.visualization | |
| assert hasattr(src.visualization, "draw_boxes") | |
| assert hasattr(src.visualization, "create_no_detection_overlay") | |
| def test_app_build_callable(): | |
| """Verify the Gradio app builder is importable and callable.""" | |
| try: | |
| from app import build_app | |
| assert callable(build_app) | |
| except ImportError: | |
| pytest.skip("Gradio not available in test environment") | |
| def test_inference_module_imports(): | |
| """Verify inference module structure without heavy imports.""" | |
| try: | |
| from src.inference import LocateAnythingWorker | |
| w = LocateAnythingWorker.__new__(LocateAnythingWorker) | |
| assert not getattr(w, "_loaded", True) | |
| except ImportError: | |
| pytest.skip("transformers/torch not available in test environment") | |