Repository navigation
Test cleanup - #297
Merged
Merged
Test cleanup#297
Conversation
… = [...]) The 62 test files move into core, vecmat, solvers, dm, lowlevel, regression, examples and mpi, without the test_/low_level_/mpi_/ doc_examples_ prefixes; no test changes beyond paths. runtests.jl runs the groups in order, and test_args selects some of them. The deprecation tests are generated into test/core/deprecations.jl. The contributing page says how to run one group.
getlib(PetscScalar = Float64) assumed an Int64 build; the tests now use whichever library is loaded.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reorganises
test/without changing what the library does. Each commit is a step you can review on its own.1. Tests the suite had stopped running. The four files testing the manual's examples are listed in
runtests.jlagain. Their stale skips are now real tests: IS set operations, and ASCII and binary viewer I/O. The Tao examples run in a fresh process. In PETSc 3.25 the LMVM-based Tao types fail after any earlier cycle that created a KSP, anddocs/src/man/tao_lowlevel.mdnow says so.01-hello.jlis removed, and the SNES helper test runs once instead of twice.2. One folder per group.
test/is split intocore,vecmat,solvers,dm,lowlevel,regression,examplesandmpi, and the file-name prefixes are gone.Pkg.test("PETSc"; test_args = ["dm", "mpi"])runs only the named groups, and an unknown name raises an error. Paths go throughpkgdir(PETSc).scripts/generate_renames.jlnow writestest/core/deprecations.jl, anddocs/src/man/contributing.mdhas a "Running the tests" section.3. Less duplication.
dm/dmstag.jlruns on any number of ranks, anddm/dmstag_serial.jlchecks exact values on one rank. Each file now says which it is at the top, and their testset names no longer clash.solvers/snes_callbacks.jland the SNES half ofcore/smoke.jlsolved the same 2×2 system and still taught thereturn 0callback rule. That system is now tested once, insolvers/snes.jl, with callbacks that return nothing, in both the named-function and do-block forms.@assert-onlysnes_helpers.jlandtao_helpers.jlbecomelowlevel/readers.jl, which uses@test.getlib(PetscScalar = Float64), which assumed an Int64 build. They now take the loaded library fromPETSc.petsclibs[1].