| #!/usr/bin/env python3 | |
| """Test all SegEarth pipelines load correctly. Run: conda activate ifedit && python test_pipelines.py [OV|OV-2|OV-3]""" | |
| import sys | |
| def main(): | |
| from pipeline import SegEarthPipeline | |
| device = sys.argv[2] if len(sys.argv) > 2 else "cuda" | |
| variants = [("OV", device), ("OV-2", device), ("OV-3", device)] | |
| if len(sys.argv) > 1: | |
| want = sys.argv[1] | |
| variants = [(v, d) for v, d in variants if v == want] | |
| if not variants: | |
| print(f"Unknown variant: {want}") | |
| sys.exit(1) | |
| for variant, device in variants: | |
| print(f"Loading {variant}...", end=" ", flush=True) | |
| try: | |
| pipe = SegEarthPipeline(variant=variant, device=device) | |
| print("OK") | |
| except ImportError as e: | |
| if "sam3" in str(e) and variant == "OV-3": | |
| print("SKIP (sam3 not installed)") | |
| else: | |
| print(f"FAIL: {e}") | |
| raise | |
| except Exception as e: | |
| print(f"FAIL: {e}") | |
| raise | |
| print("All pipelines loaded successfully.") | |
| if __name__ == "__main__": | |
| main() | |