From 0e508107ba5dd02c8b6000bd3595caf7d545ffb5 Mon Sep 17 00:00:00 2001 From: Ryan Malloy Date: Sun, 12 Jul 2026 08:12:59 -0600 Subject: [PATCH] Mark the oracle routing test deselectable (-m 'not oracle') The JAR route makes the test ~50s; tag it so quick iteration can skip it while it still runs by default for validation. --- pyproject.toml | 3 +++ tests/test_oracle.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 90e53e2..8e27e59 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -58,3 +58,6 @@ minversion = "7.0" testpaths = ["tests"] pythonpath = ["tests"] addopts = ["-ra", "--strict-markers"] +markers = [ + "oracle: runs the FreeRouting JAR (slow, needs Java); deselect with -m 'not oracle'", +] diff --git a/tests/test_oracle.py b/tests/test_oracle.py index dc6f638..c273baa 100644 --- a/tests/test_oracle.py +++ b/tests/test_oracle.py @@ -9,6 +9,8 @@ from __future__ import annotations from pathlib import Path +import pytest + from oracle import HAS_ORACLE, requires_oracle, route_dsn, routed_net_set, routed_nets FIXTURES = Path(__file__).parent / "dsn" / "fixtures" @@ -21,6 +23,7 @@ def test_oracle_harness_imports(): assert isinstance(HAS_ORACLE, bool) +@pytest.mark.oracle @requires_oracle def test_oracle_routes_and_reports_connectivity(): """Reference FreeRouting routes a routable KiCad board and we can read it back.