Instantiate while testing
This addresses issue #204 by instantiating the environment. It seems to work on my local tests, but would be good if others can try this as well on a clean machine.
This looks like roughly what I was thinking of too. Will try it out.
Verified that this works when testing in an un-instantiated environment (which I made sure by deleting my ~/.julia). However, while it ran the first time, subsequent runs led to this error:
Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading.
Testing Running tests...
┌ Info: Testing PETSc.jl with
│ MPIPreferences.binary = "MPICH_jll"
│ MPIPreferences.abi = "MPICH"
└ PETSc_jll.host_platform = macOS aarch64 {cxxstring_abi=cxx11, julia_version=1.11.1, libgfortran_version=5.0.0, mpi=mpich}
Test Summary: | Pass Total Time
DMDACreate1D | 460 460 1.4s
Test Summary: | Pass Total Time
DMDACreate2D | 2624 2624 0.3s
Test Summary: | Pass Total Time
DMDACreate3D | 12096 12096 1.7s
Test Summary: | Pass Total Time
creatematrix | 40 40 0.5s
Test Summary: | Pass Total Time
DM Vectors and Coordinates | 380 380 0.4s
Test Summary: | Total Time
mpi examples | 0 15.0s
Test Summary: | Pass Total Time
options tests | 144 144 0.6s
Test Summary: | Pass Total Time
parse_options tests | 1 1 3.0s
Test Summary: | Pass Total Time
DMDACreate1D | 460 460 1.1s
Test Summary: | Pass Total Time
DMDACreate2D | 2624 2624 0.4s
Test Summary: | Pass Total Time
DMDACreate3D | 12096 12096 2.8s
Test Summary: | Pass Total Time
creatematrix | 40 40 0.5s
Test Summary: | Pass Total Time
DM Vectors and Coordinates | 360 360 0.4s
[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
[0]PETSC ERROR: Object is in wrong state
[0]PETSC ERROR: Vector has been unlocked from read-only access too many times
[0]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.
[0]PETSC ERROR: Petsc Release Version 3.22.0, Sep 28, 2024
[0]PETSC ERROR: Unknown Name with 1 MPI process(es) and PETSC_ARCH on Virals-MacBook-Pro.local by viralshah Tue Oct 29 16:41:13 2024
[0]PETSC ERROR: Configure options: --prefix=/workspace/destdir/lib/petsc/double_real_Int64 --CC=mpicc --FC=mpif90 --CXX=mpicxx --COPTFLAGS=-O3 -g --CXXOPTFLAGS=-O3 -g --FOPTFLAGS=-O3 --with-blaslapack-lib=/workspace/destdir/lib/libopenblas.dylib --with-blaslapack-suffix= --CFLAGS=-fno-stack-protector --FFLAGS=" " --LDFLAGS=-L/workspace/destdir/lib --CC_LINKER_FLAGS= --with-64-bit-indices=1 --with-debugging=0 --with-batch --with-mpi=1 --with-mpi-lib="[/workspace/destdir/lib/libmpifort.dylib,/workspace/destdir/lib/libmpi.dylib]" --with-mpi-include=/workspace/destdir/include --with-sowing=0 --with-precision=double --with-scalar-type=real --with-pthread=0 --PETSC_ARCH=aarch64-apple-darwin20_double_real_Int64 --with-scalapack-lib=/workspace/destdir/lib/libscalapack32.dylib --with-scalapack-include=/workspace/destdir/include --download-suitesparse=1 --download-suitesparse-shared=0 --download-superlu_dist=1 --download-superlu_dist-shared=0 --download-hypre=1 --download-hypre-shared=0 --download-hypre-configure-arguments="--host --build" --download-mumps=1 --download-mumps-shared=0 --download-tetgen=1 --download-triangle=1 --SOSUFFIX=double_real_Int64 --with-shared-libraries=1 --with-clean=1
[0]PETSC ERROR: #1 VecLockReadPop() at /workspace/srcdir/petsc-3.22.0/src/vec/vec/interface/rvector.c:4032
[0]PETSC ERROR: #2 MatMult() at /workspace/srcdir/petsc-3.22.0/src/mat/interface/matrix.c:2670
ERROR: LoadError: Some tests did not pass: 19 passed, 0 failed, 1 errored, 0 broken.
in expression starting at /Users/viralshah/.julia/dev/PETSc/test/old_test.jl:6
in expression starting at /Users/viralshah/.julia/dev/PETSc/test/runtests.jl:34
ERROR: Package PETSc errored during testing
The last I posted above is turning out to also be a bit hard to reproduce. Happens one one of my macs, but not the other.
I'm merging this for now and we'll keep an eye on the other one.
I have also been unable to reproduce this, which makes it tricky to debug.
We should probably make a new release (0.3.1)