trimesh
trimesh copied to clipboard
A few new failing tests with Pillow 10.4.0
I see a few test regressions that appear to be associated with the update from Pillow 10.3.0 to 10.4.0:
$ gh repo clone mikedh/trimesh
$ cd trimesh
$ python3.12 -m venv _e
$ . _e/bin/activate
(_e) $ pip install -e .[all,test]
(_e) $ python -m pytest -v
=========================================================================================== short test summary info ============================================================================================
FAILED tests/test_boolean.py::BooleanTest::test_boolean - subprocess.CalledProcessError: Command '['/usr/bin/blender', '--background', '--python', '/tmp/tmp8kugzuuk']' returned non-zero exit status 127.
FAILED tests/test_boolean.py::BooleanTest::test_empty - subprocess.CalledProcessError: Command '['/usr/bin/blender', '--background', '--python', '/tmp/tmpuim2cl9q']' returned non-zero exit status 127.
FAILED tests/test_boolean.py::BooleanTest::test_multiple - subprocess.CalledProcessError: Command '['/usr/bin/blender', '--background', '--python', '/tmp/tmpcl7n6omm']' returned non-zero exit status 127.
FAILED tests/test_creation.py::CreationTest::test_path_sweep - ValueError: zero-size array to reduction operation maximum which has no identity
FAILED tests/test_creation.py::CreationTest::test_triangulate - AssertionError: assert np.False_
FAILED tests/test_creation.py::CreationTest::test_triangulate_plumbing - AssertionError: assert np.False_
FAILED tests/test_gltf.py::GLTFTest::test_same_name - ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
FAILED tests/test_gltf.py::GLTFTest::test_vertex_colors_import - AssertionError: Imported vertex color is not of expected value: got [ 1 0 1 255], expected [255 0 255 255]
FAILED tests/test_medial.py::MedialTests::test_medial - OverflowError: Python int too large to convert to C long
FAILED tests/test_paths.py::VectorTests::test_discrete - OverflowError: Python int too large to convert to C long
FAILED tests/test_paths.py::VectorTests::test_empty - OverflowError: Python int too large to convert to C long
FAILED tests/test_section.py::SliceTest::test_cap - assert False
FAILED tests/test_section.py::SliceTest::test_cap_coplanar - assert False
FAILED tests/test_section.py::SliceTest::test_slice_onplane - assert False
FAILED tests/test_sweep.py::test_simple_closed - AssertionError
FAILED tests/test_sweep.py::test_simple_extrude - ValueError: zero-size array to reduction operation maximum which has no identity
FAILED tests/test_sweep.py::test_simple_open - ValueError: zero-size array to reduction operation maximum which has no identity
FAILED tests/test_sweep.py::test_spline_3D - ValueError: zero-size array to reduction operation maximum which has no identity
FAILED tests/test_sweep.py::test_screw - ValueError: zero-size array to reduction operation maximum which has no identity
FAILED tests/test_texture.py::TextureTest::test_pbr_material_fusion - ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
FAILED tests/test_texture.py::TextureTest::test_upsize - ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
FAILED tests/test_unwrap.py::UnwrapTest::test_blender_unwrap - subprocess.CalledProcessError: Command '['/usr/bin/blender', '--background', '--python', '/tmp/tmpr4ccikox']' returned non-zero exit status 127.
=========================================================================== 22 failed, 598 passed, 274 warnings in 290.71s (0:04:50) ===========================================================================
Now, downgrading Pillow:
(_e) $ pip install pillow==10.3.0
(_e) $ python -m pytest -v
=========================================================================================== short test summary info ============================================================================================
FAILED tests/test_boolean.py::BooleanTest::test_boolean - subprocess.CalledProcessError: Command '['/usr/bin/blender', '--background', '--python', '/tmp/tmpl559s849']' returned non-zero exit status 127.
FAILED tests/test_boolean.py::BooleanTest::test_empty - subprocess.CalledProcessError: Command '['/usr/bin/blender', '--background', '--python', '/tmp/tmp81bp1hok']' returned non-zero exit status 127.
FAILED tests/test_boolean.py::BooleanTest::test_multiple - subprocess.CalledProcessError: Command '['/usr/bin/blender', '--background', '--python', '/tmp/tmpt_hre7jb']' returned non-zero exit status 127.
FAILED tests/test_creation.py::CreationTest::test_path_sweep - ValueError: zero-size array to reduction operation maximum which has no identity
FAILED tests/test_creation.py::CreationTest::test_triangulate - AssertionError: assert np.False_
FAILED tests/test_creation.py::CreationTest::test_triangulate_plumbing - AssertionError: assert np.False_
FAILED tests/test_gltf.py::GLTFTest::test_vertex_colors_import - AssertionError: Imported vertex color is not of expected value: got [ 1 0 1 255], expected [255 0 255 255]
FAILED tests/test_medial.py::MedialTests::test_medial - OverflowError: Python int too large to convert to C long
FAILED tests/test_paths.py::VectorTests::test_discrete - OverflowError: Python int too large to convert to C long
FAILED tests/test_paths.py::VectorTests::test_empty - OverflowError: Python int too large to convert to C long
FAILED tests/test_section.py::SliceTest::test_cap - assert False
FAILED tests/test_section.py::SliceTest::test_cap_coplanar - assert False
FAILED tests/test_section.py::SliceTest::test_slice_onplane - assert False
FAILED tests/test_sweep.py::test_simple_closed - AssertionError
FAILED tests/test_sweep.py::test_simple_extrude - ValueError: zero-size array to reduction operation maximum which has no identity
FAILED tests/test_sweep.py::test_simple_open - ValueError: zero-size array to reduction operation maximum which has no identity
FAILED tests/test_sweep.py::test_spline_3D - ValueError: zero-size array to reduction operation maximum which has no identity
FAILED tests/test_sweep.py::test_screw - ValueError: zero-size array to reduction operation maximum which has no identity
FAILED tests/test_unwrap.py::UnwrapTest::test_blender_unwrap - subprocess.CalledProcessError: Command '['/usr/bin/blender', '--background', '--python', '/tmp/tmp03x5p5xr']' returned non-zero exit status 127.
=========================================================================== 19 failed, 601 passed, 273 warnings in 292.99s (0:04:52) ===========================================================================
The regressions of interest here are therefore those failures that appear only in the first list:
FAILED tests/test_gltf.py::GLTFTest::test_same_name - ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
FAILED tests/test_texture.py::TextureTest::test_pbr_material_fusion - ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
FAILED tests/test_texture.py::TextureTest::test_upsize - ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
There isn’t really anything obviously relevant in the “curated” upstream changelog; meanwhile the raw list of changes is too verbose to easily peruse. I’ll try to keep investigating this.