[petsc-dev] How test system options are handled

Matthew Knepley knepley at gmail.com
Thu Aug 7 20:12:31 CDT 2025


On Thu, Aug 7, 2025 at 9:01 PM Barry Smith <bsmith at petsc.dev> wrote:

>
>   I suggest the PETSc options database check the environmental variable
> PETSC_OPTIONS_FINAL and have these values added to the options database
> last (though they shouldn't overwrite values set in the code.)
>
>   I tried
>
> $ make -f ./gmakefile test globsearch="snes_tutorials-ex69_p2p1"
> EXTRA_OPTIONS="-dm_refine 5 -dm_view hdf5:$PETSC_DIR/sol.h5
> -snes_view_solution hdf5:$PETSC_DIR/sol.h5::append -exact_vec_view
> hdf5:$PETSC_DIR/sol.h5::append -m 2 -n 2 -B 1"
>

We changed the name of the search field to "search". That works. I will fix
it in the Markdown.

  Thanks,

     Matt


> As suggested in guide_to_stokes.md and got back
>
> Using MAKEFLAGS: -- EXTRA_OPTIONS=-dm_refine 5 -dm_view
> hdf5:/Users/barrysmith/Src/petsc/sol.h5 -snes_view_solution
> hdf5:/Users/barrysmith/Src/petsc/sol.h5::append -exact_vec_view
> hdf5:/Users/barrysmith/Src/petsc/sol.h5::append -m 2 -n 2 -B 1
> globsearch=snes_tutorials-ex69_p2p1
>          CC arch-main/tests/sys/classes/draw/tests/ex1.o
>     CLINKER arch-main/tests/sys/classes/draw/tests/ex1
>        TEST arch-main/tests/counts/sys_classes_draw_tests-ex1_1.counts
>  ok sys_classes_draw_tests-ex1_1
> not ok diff-sys_classes_draw_tests-ex1_1 # Error code: 1
> # 0a1,10
> # > WARNING! There are options you set that were not used!
> # > WARNING! could be spelling mistake, etc!
> # > There are 7 unused database options. They are:
> # > Option left: name:-B value: 1 source: command line
> # > Option left: name:-dm_refine value: 5 source: command line
> # > Option left: name:-dm_view value:
> hdf5:/Users/barrysmith/Src/petsc/sol.h5 source: command line
> # > Option left: name:-exact_vec_view value:
> hdf5:/Users/barrysmith/Src/petsc/sol.h5::append source: command line
> # > Option left: name:-m value: 2 source: command line
> # > Option left: name:-n value: 2 source: command line
> # > Option left: name:-snes_view_solution value:
> hdf5:/Users/barrysmith/Src/petsc/sol.h5::append source: command line
>          CC arch-main/tests/sys/classes/draw/tests/ex10.o
>     CLINKER arch-main/tests/sys/classes/draw/tests/ex10
>        TEST arch-main/tests/counts/sys_classes_draw_tests-ex10_1.counts
> ^Cnot ok sys_classes_draw_tests-ex10_1 # Error code: 1
>  ok sys_classes_draw_tests-ex10_1 # SKIP Command failed so no diff
>
> So I expect there is something wrong with the tutorials on the website.
>
> I am mystified how make test can be used to print nice output to the
> screen since the tests save the output to a file and do a diff. So I would
> like to know how Matt uses make test in his workflow.
>
>   Barry
>
>
>
>
>
>
> On Aug 7, 2025, at 9:23 AM, Matthew Knepley <knepley at gmail.com> wrote:
>
> We currently have two kinds of options in the test system. Options that
> come from the "args" line in the TEST section of the example source, which
> we will call $args, and options that come from the EXTRA_OPTIONS env var
> when the test is executed, which we will call $extra_args.
>
> Right now, in petsc_harness.sh:109, we feed the example executable the
> arguments
>
>   $extra_args $args
>
> This allows us to do things like declare EXTRA_OPTIONS="-fp_trap" for
> linux-pkgs-dbg, and then allow it to be turned off for certain tests with
> -fp_trap 0 in the argos line.
>
> This setup, however, does not allow us to override any options given in
> $args while running a test, which seems very restrictive. Should we create
> a third class of options?
>
>   Thanks,
>
>       Matt
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> -- Norbert Wiener
>
> https://urldefense.us/v3/__https://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!eKvNoxwNmwMXRGMZRaOsSgnNBPY29drpsmesUWWWine_Zv4jRQUMyHGnc6aZg_70Q1hiDdH6SePTAuus9KrM$ 
> <https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!es96ebvWwNhZgW9QAbhKl87uWMsmggCaWnv60yjXuLOqvK4co4KiyvhNTffA2KhyR42saIqyrZ93SWsl1pKX$>
>
>
>

-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://urldefense.us/v3/__https://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!eKvNoxwNmwMXRGMZRaOsSgnNBPY29drpsmesUWWWine_Zv4jRQUMyHGnc6aZg_70Q1hiDdH6SePTAuus9KrM$  <https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!eKvNoxwNmwMXRGMZRaOsSgnNBPY29drpsmesUWWWine_Zv4jRQUMyHGnc6aZg_70Q1hiDdH6SePTArClbFKt$ >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20250807/742023ca/attachment-0001.html>


More information about the petsc-dev mailing list