From 9584d9f213180c123a8bd518ca87d67ab7a7a4fd Mon Sep 17 00:00:00 2001 From: Henrik Finsberg Date: Thu, 19 Feb 2026 09:16:36 +0100 Subject: [PATCH 1/3] Lower absolute tolerance in vtkhdf tests --- tests/test_vtkhdf.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/test_vtkhdf.py b/tests/test_vtkhdf.py index 566d5bb..ac7d4f3 100644 --- a/tests/test_vtkhdf.py +++ b/tests/test_vtkhdf.py @@ -105,7 +105,7 @@ def test_write_point_data(dtype, tmp_path, cell_type): filename=filename, name="u", mesh=grid, time=tj, backend="vtkhdf" ) v_ref = Function(u.function_space, dtype=u.x.array.dtype) - atol = 10 * np.finfo(u.x.array.dtype).eps + atol = 15 * np.finfo(u.x.array.dtype).eps v_ref.interpolate(lambda x: f(x, tj)) np.testing.assert_allclose(u.x.array, v_ref.x.array, atol=atol) @@ -124,7 +124,7 @@ def test_write_point_data(dtype, tmp_path, cell_type): filename=blocked_file, name="u", mesh=grid, time=tk, backend="vtkhdf" ) v_ref = Function(u.function_space, dtype=u.x.array.dtype) - atol = 10 * np.finfo(u.x.array.dtype).eps + atol = 15 * np.finfo(u.x.array.dtype).eps v_ref.interpolate(lambda x: g(x, tk)) np.testing.assert_allclose(u.x.array, v_ref.x.array, atol=atol) @@ -160,7 +160,7 @@ def test_write_cell_data(dtype, tmp_path, cell_type): filename=filename, name="u", mesh=grid, time=tj, backend="vtkhdf" ) v_ref = Function(u.function_space, dtype=u.x.array.dtype) - atol = 10 * np.finfo(u.x.array.dtype).eps + atol = 15 * np.finfo(u.x.array.dtype).eps v_ref.interpolate(lambda x: f(x, tj)) np.testing.assert_allclose(u.x.array, v_ref.x.array, atol=atol) @@ -179,7 +179,7 @@ def test_write_cell_data(dtype, tmp_path, cell_type): filename=blocked_file, name="u", mesh=grid, time=tk, backend="vtkhdf" ) v_ref = Function(u.function_space, dtype=u.x.array.dtype) - atol = 10 * np.finfo(u.x.array.dtype).eps + atol = 15 * np.finfo(u.x.array.dtype).eps v_ref.interpolate(lambda x: g(x, tk)) np.testing.assert_allclose(u.x.array, v_ref.x.array, atol=atol) From 835e240d133d597f6549e3c94bd1544213d9a576 Mon Sep 17 00:00:00 2001 From: Henrik Finsberg Date: Thu, 19 Feb 2026 10:48:49 +0100 Subject: [PATCH 2/3] Wait for engines, see https://github.com/ipython/ipyparallel/pull/501 --- tests/conftest.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/conftest.py b/tests/conftest.py index 15ede33..c3d6a82 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -41,6 +41,7 @@ def backend(request): def cluster(): cluster = ipp.Cluster(engines="mpi", n=2) rc = cluster.start_and_connect_sync() + rc.wait_for_engines(n=2) yield rc cluster.stop_cluster_sync() From 848fae2cae64350c0f87dd7bf8fe208aa7c93154 Mon Sep 17 00:00:00 2001 From: Henrik Finsberg Date: Thu, 19 Feb 2026 13:28:59 +0100 Subject: [PATCH 3/3] More fixes for tolerance in vtkhdf --- tests/test_vtkhdf.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/test_vtkhdf.py b/tests/test_vtkhdf.py index ac7d4f3..968288c 100644 --- a/tests/test_vtkhdf.py +++ b/tests/test_vtkhdf.py @@ -254,7 +254,7 @@ def test_write_meshtags(dtype, tmp_path, generate_reference_map): ) org_maps[dim] = generate_reference_map(mesh, et, comm, root) - tol = 10 * np.finfo(dtype).eps + tol = 15 * np.finfo(dtype).eps # Read in hex grid from second time step hex_mesh = io4dolfinx.read_mesh( filename, comm, time=1.0, backend_args={"name": "hex"}, backend="vtkhdf" @@ -288,7 +288,7 @@ def test_write_meshtags(dtype, tmp_path, generate_reference_map): @pytest.mark.parametrize("dtype", [np.float32, np.float64]) def test_read_write_pointdata(dtype, tmp_path): - tol = 10 * np.finfo(dtype).eps + tol = 15 * np.finfo(dtype).eps comm = MPI.COMM_WORLD tmp_path = comm.bcast(tmp_path, root=0) @@ -360,7 +360,7 @@ def f(x, t): @pytest.mark.parametrize("dtype", [np.float32, np.float64]) def test_read_write_celldata(dtype, tmp_path): - tol = 10 * np.finfo(dtype).eps + tol = 15 * np.finfo(dtype).eps comm = MPI.COMM_WORLD tmp_path = comm.bcast(tmp_path, root=0) @@ -436,7 +436,7 @@ def f(x, t): @pytest.mark.parametrize("dtype", [np.float32, np.float64]) def test_read_write_mix_data(dtype, tmp_path): - tol = 10 * np.finfo(dtype).eps + tol = 15 * np.finfo(dtype).eps mesh = create_unit_square(MPI.COMM_WORLD, 5, 7, dtype=dtype)