11import pytest
22import sys
3+ from pathlib import Path
34
45if sys .version_info < (3 , 10 ):
56 pytest .skip ("Skipping pyodide tests on older Python" , allow_module_level = True )
67
7- from pytest_pyodide import run_in_pyodide
8+ from pytest_pyodide import run_in_pyodide , copy_files_to_pyodide
89
9- from itkwasm import __version__ as test_package_version
10+ #from itkwasm import __version__ as test_package_version
11+ test_package_version = '1.0b188'
1012
1113
12- @pytest .fixture
1314def package_wheel ():
14- return f"itkwasm-{ test_package_version } -py3-none-any.whl"
15+ wheel_stem = f"itkwasm-{ test_package_version } -py3-none-any.whl"
16+ wheel_path = Path (__file__ ).parent .parent / 'dist' / 'pyodide' / wheel_stem
17+ return wheel_path , wheel_stem
1518
19+ file_list = [package_wheel (),]
1620
17- @run_in_pyodide (packages = ["micropip" , "numpy" ])
18- async def test_image_conversion (selenium , package_wheel ):
19- import micropip
20-
21- await micropip .install (package_wheel )
2221
22+ @copy_files_to_pyodide (file_list = file_list , install_wheels = True )
23+ @run_in_pyodide (packages = ["numpy" ])
24+ async def test_image_conversion (selenium ):
2325 from itkwasm import Image
2426 from itkwasm .pyodide import to_js , to_py
2527 import numpy as np
@@ -71,13 +73,9 @@ async def test_image_conversion(selenium, package_wheel):
7173 assert isinstance (image_py .metadata , dict )
7274 assert np .array_equal (image_py .data , np .arange (16 , dtype = np .uint8 ).reshape ((4 , 4 )))
7375
74-
75- @run_in_pyodide (packages = ["micropip" , "numpy" ])
76- async def test_point_set_conversion (selenium , package_wheel ):
77- import micropip
78-
79- await micropip .install (package_wheel )
80-
76+ @copy_files_to_pyodide (file_list = file_list , install_wheels = True )
77+ @run_in_pyodide (packages = ["numpy" ])
78+ async def test_point_set_conversion (selenium ):
8179 from itkwasm import PointSet , PointSetType , PixelTypes , FloatTypes
8280 from itkwasm .pyodide import to_js , to_py
8381 import numpy as np
@@ -115,12 +113,9 @@ async def test_point_set_conversion(selenium, package_wheel):
115113 assert np .array_equal (point_set .pointData , point_set_py .pointData )
116114
117115
118- @run_in_pyodide (packages = ["micropip" , "numpy" ])
119- async def test_mesh_conversion (selenium , package_wheel ):
120- import micropip
121-
122- await micropip .install (package_wheel )
123-
116+ @copy_files_to_pyodide (file_list = file_list , install_wheels = True )
117+ @run_in_pyodide (packages = ["numpy" ])
118+ async def test_mesh_conversion (selenium ):
124119 from itkwasm import Mesh , MeshType
125120 from itkwasm .pyodide import to_js , to_py
126121 import numpy as np
@@ -158,12 +153,9 @@ async def test_mesh_conversion(selenium, package_wheel):
158153 assert np .array_equal (mesh .pointData , mesh_py .pointData )
159154
160155
161- @run_in_pyodide (packages = ["micropip" , "numpy" ])
162- async def test_polydata_conversion (selenium , package_wheel ):
163- import micropip
164-
165- await micropip .install (package_wheel )
166-
156+ @copy_files_to_pyodide (file_list = file_list , install_wheels = True )
157+ @run_in_pyodide (packages = ["numpy" ])
158+ async def test_polydata_conversion (selenium ):
167159 from itkwasm import PolyData , PolyDataType
168160 from itkwasm .pyodide import to_js , to_py
169161 import numpy as np
@@ -198,12 +190,9 @@ async def test_polydata_conversion(selenium, package_wheel):
198190 assert polydata .numberOfPointPixels == polydata_py .numberOfPointPixels
199191 assert np .array_equal (polydata .pointData , polydata_py .pointData )
200192
201- @run_in_pyodide (packages = ["micropip" , "numpy" ])
202- async def test_transform_conversion (selenium , package_wheel ):
203- import micropip
204-
205- await micropip .install (package_wheel )
206-
193+ @copy_files_to_pyodide (file_list = file_list , install_wheels = True )
194+ @run_in_pyodide (packages = ["numpy" ])
195+ async def test_transform_conversion (selenium ):
207196 from itkwasm import Transform , TransformType , TransformParameterizations
208197 from itkwasm .pyodide import to_js , to_py
209198 import numpy as np
@@ -234,12 +223,9 @@ async def test_transform_conversion(selenium, package_wheel):
234223 - 65.99999999999997 , 69.00000000000004 , 32.000000000000036 ]))
235224 print ('transform_py' , transform_py )
236225
237- @run_in_pyodide (packages = ["micropip" , "numpy" ])
238- async def test_binary_stream_conversion (selenium , package_wheel ):
239- import micropip
240-
241- await micropip .install (package_wheel )
242-
226+ @copy_files_to_pyodide (file_list = file_list , install_wheels = True )
227+ @run_in_pyodide (packages = ["numpy" ])
228+ async def test_binary_stream_conversion (selenium ):
243229 from itkwasm import BinaryStream
244230 from itkwasm .pyodide import to_js , to_py
245231
@@ -255,12 +241,9 @@ async def test_binary_stream_conversion(selenium, package_wheel):
255241 assert binary_stream_py .data [3 ], 239
256242
257243
258- @run_in_pyodide (packages = ["micropip" , "numpy" ])
259- async def test_text_stream_conversion (selenium , package_wheel ):
260- import micropip
261-
262- await micropip .install (package_wheel )
263-
244+ @copy_files_to_pyodide (file_list = file_list , install_wheels = True )
245+ @run_in_pyodide (packages = ["numpy" ])
246+ async def test_text_stream_conversion (selenium ):
264247 from itkwasm import TextStream
265248 from itkwasm .pyodide import to_js , to_py
266249
@@ -273,12 +256,9 @@ async def test_text_stream_conversion(selenium, package_wheel):
273256 assert text_stream_py .data == data
274257
275258
276- @run_in_pyodide (packages = ["micropip" , "numpy" ])
277- async def test_binary_file_conversion (selenium , package_wheel ):
278- import micropip
279-
280- await micropip .install (package_wheel )
281-
259+ @copy_files_to_pyodide (file_list = file_list , install_wheels = True )
260+ @run_in_pyodide (packages = ["numpy" ])
261+ async def test_binary_file_conversion (selenium ):
282262 from itkwasm import BinaryFile
283263 from itkwasm .pyodide import to_js , to_py
284264 import numpy as np
@@ -302,12 +282,9 @@ async def test_binary_file_conversion(selenium, package_wheel):
302282 assert data_py [3 ], 239
303283
304284
305- @run_in_pyodide (packages = ["micropip" , "numpy" ])
306- async def test_text_file_conversion (selenium , package_wheel ):
307- import micropip
308-
309- await micropip .install (package_wheel )
310-
285+ @copy_files_to_pyodide (file_list = file_list , install_wheels = True )
286+ @run_in_pyodide (packages = ["numpy" ])
287+ async def test_text_file_conversion (selenium ):
311288 from itkwasm import TextFile
312289 from itkwasm .pyodide import to_js , to_py
313290 import numpy as np
@@ -328,12 +305,9 @@ async def test_text_file_conversion(selenium, package_wheel):
328305 assert data_py == data
329306
330307
331- @run_in_pyodide (packages = ["micropip" , "numpy" ])
332- async def test_list_conversion (selenium , package_wheel ):
333- import micropip
334-
335- await micropip .install (package_wheel )
336-
308+ @copy_files_to_pyodide (file_list = file_list , install_wheels = True )
309+ @run_in_pyodide (packages = ["numpy" ])
310+ async def test_list_conversion (selenium ):
337311 from itkwasm import TextFile
338312 from itkwasm .pyodide import to_js , to_py
339313 import numpy as np
@@ -363,12 +337,9 @@ def verify_text_file(text_file):
363337 verify_text_file (text_file )
364338
365339
366- @run_in_pyodide (packages = ["micropip" , "numpy" ])
367- async def test_uint8array_conversion (selenium , package_wheel ):
368- import micropip
369-
370- await micropip .install (package_wheel )
371-
340+ @copy_files_to_pyodide (file_list = file_list , install_wheels = True )
341+ @run_in_pyodide (packages = ["numpy" ])
342+ async def test_uint8array_conversion (selenium ):
372343 from itkwasm .pyodide import to_js , to_py
373344
374345 data = bytes ([222 , 173 , 190 , 239 ])
@@ -390,12 +361,9 @@ async def test_uint8array_conversion(selenium, package_wheel):
390361 assert ivalue == ivalue_py
391362
392363
364+ @copy_files_to_pyodide (file_list = file_list , install_wheels = True )
393365@run_in_pyodide (packages = ["micropip" ])
394- async def test_json_object_conversion (selenium , package_wheel ):
395- import micropip
396-
397- await micropip .install (package_wheel )
398-
366+ async def test_json_object_conversion (selenium ):
399367 from itkwasm .pyodide import to_js , to_py
400368
401369 data = {"a" : 1 , "b" : True , "c" : {"nested" : True }}
0 commit comments