| 40 | |
| 41 | |
| 42 | def run_test(name: str, fn): |
| 43 | start = time.time() |
| 44 | try: |
| 45 | fn() |
| 46 | elapsed = int((time.time() - start) * 1000) |
| 47 | results.append({"name": name, "passed": True, "ms": elapsed}) |
| 48 | print(f" ✓ PASS ({elapsed}ms): {name}") |
| 49 | except Exception as e: |
| 50 | elapsed = int((time.time() - start) * 1000) |
| 51 | results.append({"name": name, "passed": False, "error": str(e), "ms": elapsed}) |
| 52 | print(f" ✗ FAIL ({elapsed}ms): {name}") |
| 53 | print(f" Error: {e}") |
| 54 | |
| 55 | |
| 56 | # ============================================================================ |