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