Package evaluation to test SafePETSc on Julia 1.14.0-DEV.2425 (e319a303a7*) started at 2026-06-25T20:59:50.756 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 11.43s ################################################################################ # Installation # Installing SafePETSc... Resolving package versions... Updating `~/.julia/environments/v1.14/Project.toml` [50acdc01] + SafePETSc v0.1.18 Updating `~/.julia/environments/v1.14/Manifest.toml` [ffbed154] + DocStringExtensions v0.9.5 [692b3bcd] + JLLWrappers v1.8.0 [da04e1cc] + MPI v0.20.26 [3da0fdf6] + MPIPreferences v0.1.12 ⌅ [ace2c81b] + PETSc v0.3.1 [eebad327] + PkgVersion v0.3.3 [aea7be01] + PrecompileTools v1.3.4 [21216c6a] + Preferences v1.5.2 [50acdc01] + SafePETSc v0.1.18 [e33a78d0] + Hwloc_jll v2.14.0+0 [94ce4f54] + Libiconv_jll v1.18.0+0 [b5ada748] + MPIABI_jll v0.1.5+0 [7cb0a576] + MPICH_jll v5.0.1+0 [f1f71cc9] + MPItrampoline_jll v5.5.6+0 [9237b28f] + MicrosoftMPI_jll v10.1.4+3 [656ef2d0] + OpenBLAS32_jll v0.3.33+1 [fe0851c0] + OpenMPI_jll v5.0.11+0 [8fa3689e] + PETSc_jll v3.22.1+0 [aabda75e] + SCALAPACK32_jll v2.2.300+0 ⌅ [02c8fc9c] + XML2_jll v2.13.9+0 [a65dc6b1] + Xorg_libpciaccess_jll v0.19.0+0 [9aeb927a] + mpif_jll v0.1.7+0 [0dad84c5] + ArgTools v1.2.0 [56f22d72] + Artifacts v1.11.0 [2a0f44e3] + Base64 v1.11.0 [ade2ca70] + Dates v1.11.0 [8ba89e20] + Distributed v1.11.0 [f43a241f] + Downloads v1.7.0 [7b1f6079] + FileWatching v1.11.0 [ac6e5ff7] + JuliaSyntaxHighlighting v1.13.0 [4af54fe1] + LazyArtifacts v1.11.0 [b27032c2] + LibCURL v1.0.0 [76f85450] + LibGit2 v1.11.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.14.0 [56ddb016] + Logging v1.11.0 [d6f4376e] + Markdown v1.11.0 [ca575930] + NetworkOptions v1.3.0 [44cfe95a] + Pkg v1.14.0 [de0858da] + Printf v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v1.13.0 [9e88b42a] + Serialization v1.11.0 [6462fe0b] + Sockets v1.11.0 [2f01184e] + SparseArrays v1.13.0 [f489334b] + StyledStrings v1.13.0 [fa267f1f] + TOML v1.0.3 [a4e569a6] + Tar v1.10.0 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 [e66e0078] + CompilerSupportLibraries_jll v1.5.5+0 [deac9b47] + LibCURL_jll v8.20.0+1 [e37daf67] + LibGit2_jll v1.9.4+0 [29816b5a] + LibSSH2_jll v1.11.101+0 [14a3606d] + MozillaCACerts_jll v2026.5.14 [4536629a] + OpenBLAS_jll v0.3.33+0 [458c3c95] + OpenSSL_jll v3.5.7+0 [efcefdf7] + PCRE2_jll v10.47.0+0 [bea87d4a] + SuiteSparse_jll v7.10.1+0 [83775a58] + Zlib_jll v1.3.2+0 [3161d3a3] + Zstd_jll v1.5.7+1 [8e850b90] + libblastrampoline_jll v5.15.0+0 [8e850ede] + nghttp2_jll v1.69.0+0 [3f19e933] + p7zip_jll v17.8.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m` Installation completed after 10.49s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling project... 8.5 s ✓ PETSc 6.6 s ✓ SafePETSc 2 dependencies successfully precompiled in 17 seconds. 54 already precompiled. Precompilation completed after 45.39s ################################################################################ # Testing # Testing SafePETSc Status `/tmp/jl_lRvCWg/Project.toml` [da04e1cc] MPI v0.20.26 ⌅ [ace2c81b] PETSc v0.3.1 [50acdc01] SafePETSc v0.1.18 [37e2e46d] LinearAlgebra v1.14.0 [ea8e919c] SHA v1.13.0 [9e88b42a] Serialization v1.11.0 [2f01184e] SparseArrays v1.13.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_lRvCWg/Manifest.toml` [ffbed154] DocStringExtensions v0.9.5 [692b3bcd] JLLWrappers v1.8.0 [da04e1cc] MPI v0.20.26 [3da0fdf6] MPIPreferences v0.1.12 ⌅ [ace2c81b] PETSc v0.3.1 [eebad327] PkgVersion v0.3.3 [aea7be01] PrecompileTools v1.3.4 [21216c6a] Preferences v1.5.2 [50acdc01] SafePETSc v0.1.18 [e33a78d0] Hwloc_jll v2.14.0+0 [94ce4f54] Libiconv_jll v1.18.0+0 [b5ada748] MPIABI_jll v0.1.5+0 [7cb0a576] MPICH_jll v5.0.1+0 [f1f71cc9] MPItrampoline_jll v5.5.6+0 [9237b28f] MicrosoftMPI_jll v10.1.4+3 [656ef2d0] OpenBLAS32_jll v0.3.33+1 [fe0851c0] OpenMPI_jll v5.0.11+0 [8fa3689e] PETSc_jll v3.22.1+0 [aabda75e] SCALAPACK32_jll v2.2.300+0 ⌅ [02c8fc9c] XML2_jll v2.13.9+0 [a65dc6b1] Xorg_libpciaccess_jll v0.19.0+0 [9aeb927a] mpif_jll v0.1.7+0 [0dad84c5] ArgTools v1.2.0 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [8ba89e20] Distributed v1.11.0 [f43a241f] Downloads v1.7.0 [7b1f6079] FileWatching v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.13.0 [4af54fe1] LazyArtifacts v1.11.0 [b27032c2] LibCURL v1.0.0 [76f85450] LibGit2 v1.11.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.14.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [ca575930] NetworkOptions v1.3.0 [44cfe95a] Pkg v1.14.0 [de0858da] Printf v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v1.13.0 [9e88b42a] Serialization v1.11.0 [6462fe0b] Sockets v1.11.0 [2f01184e] SparseArrays v1.13.0 [f489334b] StyledStrings v1.13.0 [fa267f1f] TOML v1.0.3 [a4e569a6] Tar v1.10.0 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 [e66e0078] CompilerSupportLibraries_jll v1.5.5+0 [deac9b47] LibCURL_jll v8.20.0+1 [e37daf67] LibGit2_jll v1.9.4+0 [29816b5a] LibSSH2_jll v1.11.101+0 [14a3606d] MozillaCACerts_jll v2026.5.14 [4536629a] OpenBLAS_jll v0.3.33+0 [458c3c95] OpenSSL_jll v3.5.7+0 [efcefdf7] PCRE2_jll v10.47.0+0 [bea87d4a] SuiteSparse_jll v7.10.1+0 [83775a58] Zlib_jll v1.3.2+0 [3161d3a3] Zstd_jll v1.5.7+1 [8e850b90] libblastrampoline_jll v5.15.0+0 [8e850ede] nghttp2_jll v1.69.0+0 [3f19e933] p7zip_jll v17.8.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. Testing Running tests... Precompilation complete for test environment ✓ GC finalizer triggered on attempt 1 ✓ All objects GC'd on attempt 1 Test Summary: SafeMPI with MPI (aggregated across 4 ranks) Pass: 24 Fail: 0 Error: 0 Broken: 0 Skip: 0 Test Summary: @mpiassert OK (aggregated across 4 ranks) Pass: 8 Fail: 0 Error: 0 Broken: 0 Skip: 0 @mpiassert OK test completed [rank 0] ERROR: rank 2 intentionally failing [rank 1] ERROR: rank 2 intentionally failing [rank 2] ERROR: [rank 3] ERROR: rank 2 intentionally failingrank 2 intentionally failing Abort(1) on node 1 (rank 1 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 1 Abort(1) on node 0 (rank 0 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0 [rank 1] unexpected: test did not abort Test Summary: mpi_uniform (aggregated across 4 ranks) Pass: 24 Fail: 0 Error: 0 Broken: 0 Skip: 0 Test Summary: Vec_uniform tests (aggregated across 4 ranks) Pass: 96 Fail: 0 Error: 0 Broken: 0 Skip: 0 [DEBUG] Vec_sum test starting [DEBUG] Vec_sum Test 1 starting [DEBUG] Vec_sum Test 1 completed, starting Test 2 [DEBUG] Test 2 cleanup: about to call check_and_destroy!() [DEBUG] Test 2 cleanup: check_and_destroy!() done, about to barrier [DEBUG] Test 2 cleanup: barrier done, starting Test 3 [DEBUG] Test 3: creating sparse vector [DEBUG] Test 3: lo=1, hi=4, about to check condition [DEBUG] Test 3: setting v3[1] [DEBUG] Test 3: about to call Vec_sum with own_rank_only=true Test Summary: Vec_sum tests (aggregated across 4 ranks) Pass: 45 Fail: 0 Error: 0 Broken: 0 Skip: 0 [DEBUG] Vec_sum test file completed successfully [DEBUG] Vec norm test starting [DEBUG] Vec norm Test 1 starting - 2-norm (default) [DEBUG] Vec norm Test 1 completed, starting Test 2 [DEBUG] Vec norm Test 2 completed, starting Test 3 [DEBUG] Vec norm Test 3 completed, starting Test 4 [DEBUG] Vec norm Test 4 completed, starting Test 5 [DEBUG] Vec norm Test 5 completed, starting Test 6 [DEBUG] Vec norm Test 6 completed, starting Test 7 [DEBUG] Vec norm Test 7 completed, starting Test 8 [DEBUG] Vec norm Test 8 completed, starting Test 9 [DEBUG] Vec norm Test 9 completed, starting Test 10 [DEBUG] Vec norm Test 10 completed Test Summary: Vec norm tests (aggregated across 4 ranks) Pass: 124 Fail: 0 Error: 0 Broken: 0 Skip: 0 [DEBUG] Vec norm test file completed successfully [DEBUG] Vec min/max test starting [DEBUG] Test 1: Basic maximum and minimum [DEBUG] Test 2: Negative values [DEBUG] Test 3: All same values [DEBUG] Test 4: Single element [DEBUG] Test 5: Larger vector Test Summary: Vec min/max tests (aggregated across 4 ranks) Pass: 48 Fail: 0 Error: 0 Broken: 0 Skip: 0 [DEBUG] Vec min/max test file completed successfully [DEBUG] Mat_uniform test starting [DEBUG] Mat_uniform Test 1 starting [DEBUG] Starting sparse matrix tests [DEBUG] Sparse matrix tests completed Test Summary: Mat_uniform tests (aggregated across 4 ranks) Pass: 144 Fail: 0 Error: 0 Broken: 0 Skip: 0 [DEBUG] Mat_uniform test file completed successfully [DEBUG] Mat_sum test starting [DEBUG] Mat_sum Test 1 starting Test Summary: Mat_sum tests (aggregated across 4 ranks) Pass: 44 Fail: 0 Error: 0 Broken: 0 Skip: 0 [DEBUG] Mat_sum test file completed successfully [DEBUG] Mat getindex test starting [DEBUG] Mat getindex Test 1 starting [DEBUG] Mat getindex tests completed Test Summary: Mat getindex tests (aggregated across 4 ranks) Pass: 52 Fail: 0 Error: 0 Broken: 0 Skip: 0 [DEBUG] Mat getindex test file completed successfully [DEBUG] Vec indexing test starting [DEBUG] Vec indexing Test 1: Single element indexing [DEBUG] Vec indexing Test 2: Range indexing [DEBUG] Vec indexing Test 3: Different sizes [DEBUG] Vec indexing tests completed Test Summary: Vec indexing tests (aggregated across 4 ranks) Pass: 32 Fail: 0 Error: 0 Broken: 0 Skip: 0 [DEBUG] Vec indexing test file completed successfully [DEBUG] Mat indexing test starting [DEBUG] Mat indexing Test 1: Single element indexing [DEBUG] Mat indexing Test 2: Row range, single column [DEBUG] Mat indexing Test 3: Single row, column range [DEBUG] Mat indexing Test 4: Row range, column range (dense) [DEBUG] Mat indexing Test 5: Row range, column range (sparse) [DEBUG] Mat indexing tests completed Test Summary: Mat indexing tests (aggregated across 4 ranks) Pass: 60 Fail: 0 Error: 0 Broken: 0 Skip: 0 [DEBUG] Mat indexing test file completed successfully [DEBUG] Advanced vector operations test starting [DEBUG] Test 1: Inner product v' * w [DEBUG] Test 1 passed [DEBUG] Test 2: Row vector times transposed matrix v' * A' [DEBUG] Test 2 passed [DEBUG] Test 3: Size and shape queries for adjoint vectors [DEBUG] Test 3 passed [DEBUG] Test 4: Size queries for DRef-wrapped Vec [DEBUG] Test 4 passed [DEBUG] Test 5: LinearAlgebra.dot function [DEBUG] Test 5 passed [DEBUG] Test 6: eachrow iterator for Vec [DEBUG] Test 6 passed [DEBUG] Test 7: Base.sum function [DEBUG] Test 7 passed [DEBUG] Test 8: Scalar multiplication α * v and v * α [DEBUG] Test 8 passed [DEBUG] Test 9: Scalar multiplication α * vt and vt * α [DEBUG] Test 9 passed [DEBUG] Test 10: Addition of adjoint vectors vt1 + vt2 [DEBUG] Test 10 passed [DEBUG] Test 11: Outer product v * w' [DEBUG] Test 11 passed [DEBUG] All advanced vector operations tests completed Test Summary: Advanced vector operations (aggregated across 4 ranks) Pass: 148 Fail: 0 Error: 0 Broken: 0 Skip: 0 [DEBUG] Matrix concatenation tests starting [DEBUG] Test 1: vcat [DEBUG] Test 2: hcat [DEBUG] Test 3: cat with dims=1 [DEBUG] Test 4: cat with dims=2 [DEBUG] Test 5: vcat with sparse matrices [DEBUG] Test 6: hcat with sparse matrices [DEBUG] Test 7: vcat with Vec objects [DEBUG] Test 8: hcat with Vec objects [DEBUG] Test 9: Mixed Vec and Mat concatenation [DEBUG] All concatenation tests completed Test Summary: Matrix concatenation tests (aggregated across 4 ranks) Pass: 81 Fail: 0 Error: 0 Broken: 0 Skip: 0 [DEBUG] Matrix concatenation test file completed successfully [DEBUG] Block diagonal matrix tests starting [DEBUG] Test 1: blockdiag with two 3x3 matrices [DEBUG] Test 2: blockdiag with three matrices [DEBUG] Test 3: blockdiag with rectangular matrices [DEBUG] Test 4: blockdiag with sparse matrices [DEBUG] Test 5: blockdiag with single matrix [DEBUG] Test 6: blockdiag with four different-sized matrices [DEBUG] All blockdiag tests completed Test Summary: Block diagonal matrix tests (aggregated across 4 ranks) Pass: 54 Fail: 0 Error: 0 Broken: 0 Skip: 0 [DEBUG] Block diagonal matrix test file completed successfully [DEBUG] spdiagm tests starting [DEBUG] Test 1: spdiagm with main diagonal [DEBUG] Test 2: spdiagm with superdiagonal [DEBUG] Test 3: spdiagm with subdiagonal [DEBUG] Test 4: spdiagm tridiagonal [DEBUG] Test 5: spdiagm with explicit dimensions [DEBUG] Test 6: spdiagm with multiple off-diagonals [DEBUG] Test 7: spdiagm with negative off-diagonals [DEBUG] Test 8: spdiagm with varying diagonal values [DEBUG] Test 9: prefix MPIDENSE -> MPIAIJ [DEBUG] Test 10: prefix MPIDENSE -> MPIDENSE [DEBUG] Test 11: prefix with tridiagonal MPIDENSE -> MPIAIJ [DEBUG] All spdiagm tests completed Test Summary: spdiagm tests (aggregated across 4 ranks) Pass: 111 Fail: 0 Error: 0 Broken: 0 Skip: 0 [DEBUG] spdiagm test file completed successfully [DEBUG] Mat operations test starting [DEBUG] has_strumpack() = false [DEBUG] Test 1: Matrix-matrix multiplication [DEBUG] Test 2: Matrix-vector multiplication [DEBUG] Test 3: Adjoint vector times matrix [DEBUG] Test 4: Linear solve A\b [DEBUG] Test 5: Linear solve A\B [DEBUG] Test 6: Transpose solve A'\b [DEBUG] Test 7: Transpose solve A'\B [DEBUG] Test 8: Right division b'/A [DEBUG] Test 9: Right division B/A [DEBUG] Test 10: Right division B/A' [DEBUG] Test 11: KSP constructor [DEBUG] Test 12: In-place matrix-vector multiply mul!(y, A, x) [DEBUG] Test 13: In-place adjoint vector-matrix multiply mul!(w, v', A) [DEBUG] Test 14: In-place linear solve ldiv!(x, A, b) [DEBUG] Test 15: In-place linear solve with solver reuse ldiv!(ksp, x, b) [DEBUG] Test 16: In-place linear solve with matrix RHS ldiv!(X, A, B) [DEBUG] Test 17: In-place linear solve with matrix RHS and solver reuse ldiv!(ksp, X, B) [DEBUG] Test 18: In-place mat-mat mul! with structure reuse [DEBUG] Test 19: In-place transpose! with structure reuse [DEBUG] Test 19 skipped: MPIDENSE does not support transpose reuse [DEBUG] Test 20: Linear solve A\b with different prefixes [DEBUG] Test 21: inv(A) * b [DEBUG] Test 22: inv(A') * b [DEBUG] Test 23: inv(A) * B [DEBUG] Test 24: inv(A') * B [DEBUG] Test 25: b' * inv(A) [DEBUG] Test 26: B * inv(A) [DEBUG] Test 27: B' * inv(A) [DEBUG] All tests completed Test Summary: Matrix operations tests (aggregated across 4 ranks) Pass: 221 Fail: 0 Error: 0 Broken: 0 Skip: 0 [DEBUG] Mat operations test file completed successfully Test Summary: eachrow on mpidense (aggregated across 4 ranks) Pass: 8 Fail: 0 Error: 0 Broken: 0 Skip: 0 Test Summary: map_rows (aggregated across 4 ranks) Pass: 64 Fail: 0 Error: 0 Broken: 0 Skip: 0 ✓ eachrow handles very sparse matrices correctly Test Summary: map_rows sparse (aggregated across 4 ranks) Pass: 0 Fail: 0 Error: 0 Broken: 0 Skip: 0 ====================================================================== All map_rows sparse matrix tests passed! ====================================================================== [DEBUG] Vec pooling edge cases test starting [DEBUG] Test 1: Pool stats with empty and populated pool [DEBUG] Test 2: Multiple vectors pooled under same key [DEBUG] Test 3: Multiple vector sizes in pool [DEBUG] Test 4: Toggle pooling on/off during execution [DEBUG] Test 5: Clear pool removes all entries [DEBUG] Test 6: Vectors zeroed when returned to pool [DEBUG] Test 7: Direct PETSc destruction when pooling disabled [DEBUG] Test 8: Broadcast error for unsupported types [DEBUG] All vec pooling edge case tests completed Test Summary: Vec pooling edge case tests (aggregated across 4 ranks) Pass: 56 Fail: 0 Error: 0 Broken: 0 Skip: 0 [DEBUG] Vec pooling edge case test file completed successfully [DEBUG] Matrix addition/subtraction with non-square matrices test starting [DEBUG] Test 1: A+B with 5×3 matrices [DEBUG] Test 2: Multiple additions with 6×4 matrices [DEBUG] Test 3: A-B with 3×7 matrices [DEBUG] Test 4: Addition and subtraction with 4×8 matrices [DEBUG] Test 5: Multiple operations with 2×5 matrices [DEBUG] All non-square matrix addition/subtraction tests completed [DEBUG] Matrix add/sub test file completed successfully A_sparse diagonal: [6.0, 6.0, 6.0, 6.0, 6.0] B_expected diagonal: [7.0, 7.0, 7.0, 7.0, 7.0] B_native diagonal: [7.0, 7.0, 7.0, 7.0, 7.0] Difference norm: 0.0 opnorm 1: PETSc=6.0, Native=6.0, Diff=0.0 opnorm Inf: PETSc=6.0, Native=6.0, Diff=0.0 Test Summary: UniformScaling and norm tests (aggregated across 4 ranks) Pass: 80 Fail: 0 Error: 0 Broken: 0 Skip: 0 [DEBUG] BlockProduct test starting [DEBUG] Test 1: BlockProduct with scalar blocks [DEBUG] Test 2: BlockProduct with Mat blocks [DEBUG] Test 3: BlockProduct with Mat and Vec blocks [DEBUG] Test 4: Scalar optimization with zero [DEBUG] Test 5: Scalar optimization with one [DEBUG] Test 5: Created M [DEBUG] Test 5: Created blocks, about to create BlockProduct [DEBUG] Test 5: Created BlockProduct, about to call calculate! [DEBUG] Test 5: Called calculate!, about to check size [DEBUG] Test 5: Size check passed, about to call check_and_destroy! [DEBUG] Test 5: check_and_destroy! completed [DEBUG] Test 6: Three-way product A*B*C [DEBUG] Test 6: About to create BlockProduct [DEBUG] Test 6: Created BlockProduct, about to call calculate! [DEBUG] Test 6: Called calculate!, result type = Matrix{Union{Number, Adjoint{Float64, DRef{SafePETSc._Mat{Float64, MPIAIJ}}}, Adjoint{Float64, DRef{SafePETSc._Vec{Float64}}}, DRef{SafePETSc._Mat{Float64, MPIAIJ}}, DRef{SafePETSc._Vec{Float64}}}}, size = (2, 2) [DEBUG] Test 6: result[1,1] type = Float64 [DEBUG] Test 6: About to check result[1,1] [DEBUG] Test 8: Dimension mismatch error [DEBUG] Test 9: Multiple calculate! calls with cached reuse [DEBUG] Test 10: Mixed scalar and Mat [DEBUG] Test 11: Modify input and recalculate [DEBUG] Test 12: BlockProduct with A' * B [DEBUG] Test 13: BlockProduct with A * B' [DEBUG] Test 14: BlockProduct with A' * B' [DEBUG] Test 15: BlockProduct with mixed Mat and Mat' blocks Test Summary: BlockProduct tests (aggregated across 4 ranks) Pass: 148 Fail: 0 Error: 0 Broken: 0 Skip: 0 [DEBUG] BlockProduct test file completed successfully ============================================================ Testing show() and conversions for Vec and Mat ============================================================ [Test 1] Vec show (collective, displays data) Vec (showing via io0()): [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0] [Test 2] Vector(v) explicit conversion ✓ Vector conversion passed [Test 3] Dense Mat show (collective, displays data) Dense Mat (showing via io0()): sparse([1, 2, 3, 1, 2, 3, 1, 2, 3], [1, 1, 1, 2, 2, 2, 3, 3, 3], [1.0, 4.0, 7.0, 2.0, 5.0, 8.0, 3.0, 6.0, 9.0], 3, 3) [Test 4] Matrix(A) explicit conversion ✓ Matrix conversion passed [Test 5] Sparse Mat show (collective, displays data) Sparse Mat (showing via io0()): sparse([1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4], [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4], [2.0, 1.0, 0.0, 0.0, 1.0, 2.0, 1.0, 0.0, 0.0, 1.0, 2.0, 1.0, 0.0, 0.0, 1.0, 2.0], 4, 4) [Test 6] sparse(B) explicit conversion ✓ sparse conversion passed [Test 7] io0() helper function This line prints only on rank 0 (via io0()) This line prints only on rank 1 (via io0(r=Set([1]))) ✓ io0() helper works correctly [Test 8] Vector(v') adjoint conversion ✓ Vector adjoint conversion passed [Test 9] Matrix(A') adjoint conversion ✓ Matrix adjoint conversion passed [Test 10] sparse(B') adjoint conversion ✓ sparse adjoint conversion passed ============================================================ All tests passed! ============================================================ [DEBUG] Advanced matrix operations test starting [DEBUG] Test 1: Materialize A' as new matrix [DEBUG] Test 1 passed [DEBUG] Test 2: Adjoint matrix times vector A' * x [DEBUG] Test 2 passed [DEBUG] All advanced matrix operations tests completed Test Summary: Advanced matrix operations (aggregated across 4 ranks) Pass: 20 Fail: 0 Error: 0 Broken: 0 Skip: 0 Test Summary: | Pass Total Time SafePETSc Tests | 27 27 36m16.4s Testing SafePETSc tests passed Testing completed after 2147.52s PkgEval succeeded after 2299.86s