Skip to content

Commit ac8b964

Browse files
committed
fix: sys.modules in parallel tests
1 parent 009a4e0 commit ac8b964

20 files changed

+197
-117
lines changed

final_automate.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import os
2+
3+
original_dir = 'tests'
4+
parallel_dir = 'tests/test_parallel'
5+
6+
# 1. Create the directory if it doesn't exist
7+
if not os.path.exists(parallel_dir):
8+
os.makedirs(parallel_dir)
9+
10+
# 2. Create __init__.py with the Matplotlib fix for headless CI
11+
with open(os.path.join(parallel_dir, '__init__.py'), 'w') as f:
12+
f.write("import matplotlib\nmatplotlib.use('Agg')\n")
13+
14+
# 3. Identify all serial test files (excluding the parallel folder itself)
15+
test_files = [f for f in os.listdir(original_dir)
16+
if f.startswith('test_') and f.endswith('.py') and f != 'test_parallel.py']
17+
18+
for filename in test_files:
19+
module_name = filename[:-3] # Removes '.py' to get 'test_gpr', etc.
20+
21+
# Generate the Dynamic Wrapper content
22+
content = f"""import unittest
23+
import pytest
24+
import sys
25+
26+
try:
27+
from ezyrb.parallel import ReducedOrderModel as ParallelROM
28+
import tests.{module_name} as serial_module
29+
HAS_PARALLEL = True
30+
except ImportError:
31+
HAS_PARALLEL = False
32+
33+
if not HAS_PARALLEL:
34+
raise unittest.SkipTest("Parallel dependencies (pycompss/pyeddl) missing")
35+
36+
serial_module.ROM = ParallelROM
37+
if hasattr(serial_module, 'ReducedOrderModel'):
38+
serial_module.ReducedOrderModel = ParallelROM
39+
40+
sys.modules['tests.{module_name}'] = serial_module
41+
42+
43+
from tests.{module_name} import *
44+
"""
45+
46+
# Write the unique file to the parallel directory
47+
with open(os.path.join(parallel_dir, filename), 'w') as f:
48+
f.write(content)
49+
50+
print(f"Done! Generated {len(test_files)} dynamic wrappers in {parallel_dir}")

tests/test_parallel/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
import matplotlib
2-
3-
matplotlib.use("Agg")
2+
matplotlib.use('Agg')

tests/test_parallel/test_ae.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
import unittest
22
import pytest
33
import sys
4-
from unittest import mock
54

65
try:
76
from ezyrb.parallel import ReducedOrderModel as ParallelROM
8-
import tests.test_ae as original_module
7+
import tests.test_ae as serial_module
98
HAS_PARALLEL = True
109
except ImportError:
1110
HAS_PARALLEL = False
1211

1312
if not HAS_PARALLEL:
14-
raise unittest.SkipTest("Parallel dependencies missing")
13+
raise unittest.SkipTest("Parallel dependencies (pycompss/pyeddl) missing")
14+
15+
serial_module.ROM = ParallelROM
16+
if hasattr(serial_module, 'ReducedOrderModel'):
17+
serial_module.ReducedOrderModel = ParallelROM
18+
19+
sys.modules['tests.test_ae'] = serial_module
1520

16-
original_module.ROM = ParallelROM
17-
if hasattr(original_module, 'ReducedOrderModel'):
18-
original_module.ReducedOrderModel = ParallelROM
1921

2022
from tests.test_ae import *

tests/test_parallel/test_ann.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
import unittest
22
import pytest
33
import sys
4-
from unittest import mock
54

65
try:
76
from ezyrb.parallel import ReducedOrderModel as ParallelROM
8-
import tests.test_ann as original_module
7+
import tests.test_ann as serial_module
98
HAS_PARALLEL = True
109
except ImportError:
1110
HAS_PARALLEL = False
1211

1312
if not HAS_PARALLEL:
14-
raise unittest.SkipTest("Parallel dependencies missing")
13+
raise unittest.SkipTest("Parallel dependencies (pycompss/pyeddl) missing")
14+
15+
serial_module.ROM = ParallelROM
16+
if hasattr(serial_module, 'ReducedOrderModel'):
17+
serial_module.ReducedOrderModel = ParallelROM
18+
19+
sys.modules['tests.test_ann'] = serial_module
1520

16-
original_module.ROM = ParallelROM
17-
if hasattr(original_module, 'ReducedOrderModel'):
18-
original_module.ReducedOrderModel = ParallelROM
1921

2022
from tests.test_ann import *
Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
import unittest
22
import pytest
33
import sys
4-
from unittest import mock
54

65
try:
76
from ezyrb.parallel import ReducedOrderModel as ParallelROM
8-
import tests.test_approximation as original_module
7+
import tests.test_approximation as serial_module
98
HAS_PARALLEL = True
109
except ImportError:
1110
HAS_PARALLEL = False
1211

1312
if not HAS_PARALLEL:
14-
raise unittest.SkipTest("Parallel dependencies missing")
13+
raise unittest.SkipTest("Parallel dependencies (pycompss/pyeddl) missing")
14+
15+
serial_module.ROM = ParallelROM
16+
if hasattr(serial_module, 'ReducedOrderModel'):
17+
serial_module.ReducedOrderModel = ParallelROM
18+
19+
sys.modules['tests.test_approximation'] = serial_module
1520

16-
original_module.ROM = ParallelROM
17-
if hasattr(original_module, 'ReducedOrderModel'):
18-
original_module.ReducedOrderModel = ParallelROM
1921

2022
from tests.test_approximation import *
Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
import unittest
22
import pytest
33
import sys
4-
from unittest import mock
54

65
try:
76
from ezyrb.parallel import ReducedOrderModel as ParallelROM
8-
import tests.test_database as original_module
7+
import tests.test_database as serial_module
98
HAS_PARALLEL = True
109
except ImportError:
1110
HAS_PARALLEL = False
1211

1312
if not HAS_PARALLEL:
14-
raise unittest.SkipTest("Parallel dependencies missing")
13+
raise unittest.SkipTest("Parallel dependencies (pycompss/pyeddl) missing")
14+
15+
serial_module.ROM = ParallelROM
16+
if hasattr(serial_module, 'ReducedOrderModel'):
17+
serial_module.ReducedOrderModel = ParallelROM
18+
19+
sys.modules['tests.test_database'] = serial_module
1520

16-
original_module.ROM = ParallelROM
17-
if hasattr(original_module, 'ReducedOrderModel'):
18-
original_module.ReducedOrderModel = ParallelROM
1921

2022
from tests.test_database import *

tests/test_parallel/test_gpr.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
import unittest
22
import pytest
33
import sys
4-
from unittest import mock
54

65
try:
76
from ezyrb.parallel import ReducedOrderModel as ParallelROM
8-
import tests.test_gpr as original_module
7+
import tests.test_gpr as serial_module
98
HAS_PARALLEL = True
109
except ImportError:
1110
HAS_PARALLEL = False
1211

1312
if not HAS_PARALLEL:
14-
raise unittest.SkipTest("Parallel dependencies missing")
13+
raise unittest.SkipTest("Parallel dependencies (pycompss/pyeddl) missing")
14+
15+
serial_module.ROM = ParallelROM
16+
if hasattr(serial_module, 'ReducedOrderModel'):
17+
serial_module.ReducedOrderModel = ParallelROM
18+
19+
sys.modules['tests.test_gpr'] = serial_module
1520

16-
original_module.ROM = ParallelROM
17-
if hasattr(original_module, 'ReducedOrderModel'):
18-
original_module.ReducedOrderModel = ParallelROM
1921

2022
from tests.test_gpr import *
Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
import unittest
22
import pytest
33
import sys
4-
from unittest import mock
54

65
try:
76
from ezyrb.parallel import ReducedOrderModel as ParallelROM
8-
import tests.test_k_neighbors_regressor as original_module
7+
import tests.test_k_neighbors_regressor as serial_module
98
HAS_PARALLEL = True
109
except ImportError:
1110
HAS_PARALLEL = False
1211

1312
if not HAS_PARALLEL:
14-
raise unittest.SkipTest("Parallel dependencies missing")
13+
raise unittest.SkipTest("Parallel dependencies (pycompss/pyeddl) missing")
14+
15+
serial_module.ROM = ParallelROM
16+
if hasattr(serial_module, 'ReducedOrderModel'):
17+
serial_module.ReducedOrderModel = ParallelROM
18+
19+
sys.modules['tests.test_k_neighbors_regressor'] = serial_module
1520

16-
original_module.ROM = ParallelROM
17-
if hasattr(original_module, 'ReducedOrderModel'):
18-
original_module.ReducedOrderModel = ParallelROM
1921

2022
from tests.test_k_neighbors_regressor import *

tests/test_parallel/test_linear.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
import unittest
22
import pytest
33
import sys
4-
from unittest import mock
54

65
try:
76
from ezyrb.parallel import ReducedOrderModel as ParallelROM
8-
import tests.test_linear as original_module
7+
import tests.test_linear as serial_module
98
HAS_PARALLEL = True
109
except ImportError:
1110
HAS_PARALLEL = False
1211

1312
if not HAS_PARALLEL:
14-
raise unittest.SkipTest("Parallel dependencies missing")
13+
raise unittest.SkipTest("Parallel dependencies (pycompss/pyeddl) missing")
14+
15+
serial_module.ROM = ParallelROM
16+
if hasattr(serial_module, 'ReducedOrderModel'):
17+
serial_module.ReducedOrderModel = ParallelROM
18+
19+
sys.modules['tests.test_linear'] = serial_module
20+
1521

16-
original_module.ROM = ParallelROM
17-
if hasattr(original_module, 'ReducedOrderModel'):
18-
original_module.ReducedOrderModel = ParallelROM
19-
2022
from tests.test_linear import *
Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
import unittest
22
import pytest
33
import sys
4-
from unittest import mock
54

65
try:
76
from ezyrb.parallel import ReducedOrderModel as ParallelROM
8-
import tests.test_nnshift as original_module
7+
import tests.test_nnshift as serial_module
98
HAS_PARALLEL = True
109
except ImportError:
1110
HAS_PARALLEL = False
1211

1312
if not HAS_PARALLEL:
14-
raise unittest.SkipTest("Parallel dependencies missing")
13+
raise unittest.SkipTest("Parallel dependencies (pycompss/pyeddl) missing")
14+
15+
serial_module.ROM = ParallelROM
16+
if hasattr(serial_module, 'ReducedOrderModel'):
17+
serial_module.ReducedOrderModel = ParallelROM
18+
19+
sys.modules['tests.test_nnshift'] = serial_module
1520

16-
original_module.ROM = ParallelROM
17-
if hasattr(original_module, 'ReducedOrderModel'):
18-
original_module.ReducedOrderModel = ParallelROM
1921

2022
from tests.test_nnshift import *

0 commit comments

Comments
 (0)