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"
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 <[email protected]> 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!driNqUZiYcSxMUfDvnEjzHziF9muKitIs39C71QLYYSRpkEy42vH7Klom5eBkF2h7L2kzmzcfr520Sv7hMJgDQ$
>
> <https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!es96ebvWwNhZgW9QAbhKl87uWMsmggCaWnv60yjXuLOqvK4co4KiyvhNTffA2KhyR42saIqyrZ93SWsl1pKX$>