Skip to content

Commit 5814140

Browse files
SwiftWing21claude
andcommitted
fix(ci): skip numpy/torch tests in CI with pytest.importorskip
All Factorio ML test files now use pytest.importorskip() for numpy and torch — tests skip cleanly when deps aren't installed in CI. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent efd26d1 commit 5814140

File tree

9 files changed

+13
-12
lines changed

9 files changed

+13
-12
lines changed

tests/factorio/test_bridge_ml_mode.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"""Integration smoke tests for bridge ML mode (Task 9)."""
22
import pytest
3-
import numpy as np
3+
np = pytest.importorskip("numpy")
44
from factorio.bridge_config import BridgeConfig
55

66

tests/factorio/test_ml_e2e.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
"""End-to-end smoke test: state -> encode -> policy -> action -> reward -> train.
22
Uses mock data -- no Factorio server required.
33
"""
4-
import numpy as np
5-
import torch
64
import pytest
5+
np = pytest.importorskip("numpy")
6+
torch = pytest.importorskip("torch")
77

88
from factorio.state_parser import GameState, Entity
99
from factorio.state_encoder import StateEncoder

tests/factorio/test_ml_policy.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import numpy as np
2-
import torch
31
import pytest
2+
np = pytest.importorskip("numpy")
3+
torch = pytest.importorskip("torch")
44
from factorio.ml_policy import FactorioPolicy
55
from factorio.action_space import ActionType
66

tests/factorio/test_pack_integration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# tests/factorio/test_pack_integration.py
22
"""Integration test: pack registry → executor → reward → policy pipeline."""
3-
import torch
43
import pytest
4+
torch = pytest.importorskip("torch")
55

66

77
def test_pack_roundtrip():

tests/factorio/test_policy_packs.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import torch
1+
import pytest
2+
torch = pytest.importorskip("torch")
23

34

45
def test_policy_has_pack_heads():

tests/factorio/test_state_encoder.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import numpy as np
21
import pytest
2+
np = pytest.importorskip("numpy")
33
from factorio.state_parser import GameState, Entity
44
from factorio.state_encoder import StateEncoder, _BASE_FEATURE_DIM
55

tests/factorio/test_state_encoder_pack.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"""Tests for pack_progress feature in StateEncoder."""
2-
import numpy as np
32
import pytest
3+
np = pytest.importorskip("numpy")
44

55

66
def test_feature_dim_includes_pack_progress():

tests/factorio/test_state_encoder_spatial.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import numpy as np
21
import pytest
2+
np = pytest.importorskip("numpy")
33
from factorio.state_parser import GameState
44
from factorio.state_encoder import StateEncoder
55
from factorio.spatial_memory import SpatialMemory

tests/factorio/test_trainer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
"""Tests for PPOTrainer, TrajectoryBuffer, and Transition."""
22

3-
import numpy as np
43
import pytest
5-
import torch
4+
np = pytest.importorskip("numpy")
5+
torch = pytest.importorskip("torch")
66

77
from factorio.trainer import PPOTrainer, TrajectoryBuffer, Transition
88
from factorio.ml_policy import FactorioPolicy

0 commit comments

Comments
 (0)